#DOCUMENTATION by cg
class: RegressionTests::TimeDurationTest
added:
#test_00_Basic
#test_05_Reading
changed: #test_00_Reading
--- 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$'
! !