David T. Lewis uploaded a new version of Chronology-Tests to project The Trunk: http://source.squeak.org/trunk/Chronology-Tests-dtl.24.mcz
==================== Summary ====================
Name: Chronology-Tests-dtl.24 Author: dtl Time: 8 September 2020, 7:41:58.606243 pm UUID: b399c1e6-4dfe-4240-b44e-19ec5abf3a74 Ancestors: Chronology-Tests-mt.23
Add tests for Time>>addSeconds: to ensure that nanosecond values are preserved.
=============== Diff against Chronology-Tests-mt.23 ===============
Item was added: + ----- Method: TimeTest>>testAddSecondsNanoSecondRollover (in category 'testing') ----- + testAddSecondsNanoSecondRollover + + | time1 time2 time3 time4 time5 time6 time7 time8 | + time1 := Time fromSeconds: 1.2s. + time2 := time1 addSeconds: 1.3s. + "n.b. use ticks second to access seconds instvar because #asSeconds is + questionable and possibly subject to future change -dtl" + self assert: 2 equals: time2 ticks second. + self assert: 500000000 equals: time2 nanoSecond. + time3 := Time fromSeconds: 1.9s. + time4 := time3 addSeconds: 1.2s. + self assert: 3 equals: time4 ticks second. + self assert: 100000000 equals: time4 nanoSecond. + time5 := Time fromSeconds: 0.9s. + time6 := time5 addSeconds: 0.2s. + self assert: 1 equals: time6 ticks second. + self assert: 100000000 equals: time6 nanoSecond. + time7 := time5 addSeconds: 1. + self assert: 1 equals: time7 ticks second. + self assert: 900000000 equals: time7 nanoSecond. + "midnight rollover" + time8 := '11:59:59.505 pm' asTime addSeconds: 1.0101. + self assert: 0 equals: time8 ticks second. + self assert: 515100000 equals: time8 nanoSecond. + !
Item was added: + ----- Method: TimeTest>>testAddSecondsWithNanos (in category 'testing') ----- + testAddSecondsWithNanos + self assert: (timeWithNanos addSeconds: 1) = (Time readFromString: '4:02:48.42 am'). + self assert: (timeWithNanos addSeconds: 60) = (Time readFromString: '4:03:47.42 am'). + self assert: (timeWithNanos addSeconds: 3600) = (Time readFromString: '5:02:47.42 am'). + self assert: (timeWithNanos addSeconds: 24*60*60) = (Time readFromString: '4:02:47.42 am'). + "rollover after midnight" + self assert: (timeWithNanos addSeconds: 71832) = (Time readFromString: '11:59:59.42 pm'). + self assert: (timeWithNanos addSeconds: 71833) = (Time readFromString: '00:00:00.42 am'). + !
packages@lists.squeakfoundation.org