#DOCUMENTATION by cg
authorClaus Gittinger <cg@exept.de>
Thu, 10 May 2018 02:06:08 +0200
changeset 1919 2a68b01c7f02
parent 1918 208bd3c139d3
child 1920 bb1f0cf27979
#DOCUMENTATION by cg class: RegressionTests::TimeDurationTest added: #test_00_Basic #test_05_Reading changed: #test_00_Reading
RegressionTests__TimeDurationTest.st
--- a/RegressionTests__TimeDurationTest.st	Thu May 10 02:01:28 2018 +0200
+++ b/RegressionTests__TimeDurationTest.st	Thu May 10 02:06:08 2018 +0200
@@ -14,6 +14,52 @@
 
 !TimeDurationTest methodsFor:'Testing'!
 
+test_00_Basic
+    |t|
+
+    t := TimeDuration fromSeconds:1.
+    self assert:(t asMilliseconds == 1000).
+    self assert:(t asMicroseconds = 1000000).
+    self assert:(t asNanoseconds = 1000000000).
+    self assert:(t asPicoseconds = 1000000000000).
+
+    t := TimeDuration fromMilliseconds:345.
+    self assert:(t asExactSeconds = 0.345).
+    self assert:(t asTruncatedSeconds = 0).
+    self assert:(t asMilliseconds == 345).
+    self assert:(t asMicroseconds = 345000).
+    self assert:(t asNanoseconds = 345000000).
+    self assert:(t asPicoseconds = 345000000000).
+
+    t := TimeDuration fromMicroseconds:345.
+    self assert:(t asExactSeconds = 0.000345).
+    self assert:(t asTruncatedSeconds = 0).
+    self assert:(t asTruncatedMilliseconds == 0).
+    self assert:(t asMicroseconds = 345).
+    self assert:(t asNanoseconds = 345000).
+    self assert:(t asPicoseconds = 345000000).
+
+    t := TimeDuration fromNanoseconds:345.
+    self assert:(t asExactSeconds = 0.000000345).
+    self assert:(t asTruncatedSeconds = 0).
+    self assert:(t asTruncatedMilliseconds == 0).
+    self assert:(t asTruncatedMicroseconds = 0).
+    self assert:(t asNanoseconds = 345).
+    self assert:(t asPicoseconds = 345000).
+
+    t := TimeDuration fromPicoseconds:345.
+    self assert:(t asExactSeconds = 0.000000000345).
+    self assert:(t asTruncatedSeconds = 0).
+    self assert:(t asTruncatedMilliseconds == 0).
+    self assert:(t asTruncatedMicroseconds = 0).
+    self assert:(t asTruncatedNanoseconds = 0).
+    self assert:(t asPicoseconds = 345).
+
+    "
+     self new test_00_Basic
+    "
+!
+
 test_00_Reading
     |t1 t2|
 
@@ -29,6 +75,9 @@
     t1 := TimeDuration fromString:'1001us'.
     self assert:(t1 asMicroseconds = 1001).
 
+    t1 := TimeDuration fromString:'1001ps'.
+    self assert:(t1 asPicoseconds = 1001).
+
     t1 := TimeDuration fromString:'1s 30us'.
     self assert:(t1 asMicroseconds = 1000030).
 
@@ -77,6 +126,72 @@
     "
 !
 
+test_05_Reading
+    |t1 t2|
+
+    t2 := TimeDuration fromString:'1.001s'.
+    self assert:(t2 asMilliseconds == 1001).
+
+    t1 := TimeDuration fromString:'1001ms'.
+    self assert:(t1 asMilliseconds = 1001).
+
+    t1 := TimeDuration fromString:'1001ns'.
+    self assert:(t1 asNanoseconds = 1001).
+
+    t1 := TimeDuration fromString:'1001us'.
+    self assert:(t1 asMicroseconds = 1001).
+
+    t1 := TimeDuration fromString:'1001ps'.
+    self assert:(t1 asPicoseconds = 1001).
+
+    t1 := TimeDuration fromString:'1s 30us'.
+    self assert:(t1 asMicroseconds = 1000030).
+
+    t1 := TimeDuration fromString:'01:30:33'.
+    self assert:(t1 asSeconds = ((1*3600)+(30*60)+33)).
+    self assert:(t1 asMilliseconds = (((1*3600)+(30*60)+33)*1000)).
+
+    t1 := TimeDuration fromString:'01:30:33,5'.
+    self assert:(t1 asSeconds = ((1*3600)+(30*60)+33)).
+    self assert:(t1 asMilliseconds = ((((1*3600)+(30*60)+33)*1000)+500)).
+
+    t1 := TimeDuration fromString:'01:30:33,05'.
+    self assert:(t1 asSeconds = ((1*3600)+(30*60)+33)).
+    self assert:(t1 asMilliseconds = ((((1*3600)+(30*60)+33)*1000)+50)).
+
+    t1 := TimeDuration fromString:'01:30:33,005'.
+    self assert:(t1 asSeconds = ((1*3600)+(30*60)+33)).
+    self assert:(t1 asMilliseconds = ((((1*3600)+(30*60)+33)*1000)+5)).
+
+    t1 := TimeDuration fromString:'01:30:33,0005'.
+    self assert:(t1 asSeconds = ((1*3600)+(30*60)+33)).
+    self assert:(t1 asMicroseconds = ((((1*3600)+(30*60)+33)*1000*1000)+500)).
+
+    t1 := TimeDuration fromString:'01:30:33,00005'.
+    self assert:(t1 asSeconds = ((1*3600)+(30*60)+33)).
+    self assert:(t1 asMicroseconds = ((((1*3600)+(30*60)+33)*1000*1000)+50)).
+
+    t1 := TimeDuration fromString:'01:30:33,000005'.
+    self assert:(t1 asSeconds = ((1*3600)+(30*60)+33)).
+    self assert:(t1 asMicroseconds = ((((1*3600)+(30*60)+33)*1000*1000)+5)).
+
+    t1 := TimeDuration fromString:'01:30:33,0000005'.
+    self assert:(t1 asSeconds = ((1*3600)+(30*60)+33)).
+    self assert:(t1 asNanoseconds = ((((1*3600)+(30*60)+33)*1000*1000*1000)+500)).
+
+    t1 := TimeDuration fromString:'01:30:33,00000005'.
+    self assert:(t1 asSeconds = ((1*3600)+(30*60)+33)).
+    self assert:(t1 asNanoseconds = ((((1*3600)+(30*60)+33)*1000*1000*1000)+50)).
+
+    t1 := TimeDuration fromString:'01:30:33,000000005'.
+    self assert:(t1 asSeconds = ((1*3600)+(30*60)+33)).
+    self assert:(t1 asNanoseconds = ((((1*3600)+(30*60)+33)*1000*1000*1000)+5)).
+
+    "
+     self new test_05_Reading
+    "
+!
+
 test_10_PrintingReading
      #(
         "/ hours minutes seconds millis
@@ -144,5 +259,9 @@
 
 version
     ^ '$Header$'
+!
+
+version_CVS
+    ^ '$Header$'
 ! !