diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2022-06-28 16:22:08 +0200 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2022-07-07 21:14:09 +0200 |
commit | 10d6dfd0de4ca42fb6a493bb905c64a4ba2ca9ed (patch) | |
tree | 3fbe18e7e63dc23a0c7cbf8aa129d1cb10677645 | |
parent | Remove case*. (diff) | |
download | calp-10d6dfd0de4ca42fb6a493bb905c64a4ba2ca9ed.tar.gz calp-10d6dfd0de4ca42fb6a493bb905c64a4ba2ca9ed.tar.xz |
Add time[+-] overflow tests.
Diffstat (limited to '')
-rw-r--r-- | tests/test/datetime.scm | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/tests/test/datetime.scm b/tests/test/datetime.scm index b1501adb..2a5ac141 100644 --- a/tests/test/datetime.scm +++ b/tests/test/datetime.scm @@ -760,7 +760,30 @@ date/-time> date/-time>? date/-time>= date/-time>=? (test-equal "Add" #22:00:00 (time+ #20:00:00 (time hour: 2))) (test-equal "Remove" #20:00:00 (time- #22:00:00 (time hour: 2))))) - )) + (test-group "Overflowing cases" + (test-group "Addition" + (test-group "Single overflow" + (call-with-values (lambda () (time+ #20:00:00 (time hour: 5))) + (lambda (result overflow) + (test-equal "Time" (time hour: 1) result) + (test-equal "Overflow" 1 overflow)))) + (test-group "Mulitple overflows" + (call-with-values (lambda () (time+ #20:00:00 (time hour: 5) (time hour: 24))) + (lambda (result overflow) + (test-equal "Time" (time hour: 1) result) + (test-equal "Overflow" 2 overflow))))) + + (test-group "Subtraction" + (test-group "Single overflow" + (call-with-values (lambda () (time- #20:00:00 (time hour: 25))) + (lambda (result overflow) + (test-equal "Time" (time hour: 19) result) + (test-equal "Overflow" 1 overflow)))) + (test-group "Mulitple overflows" + (call-with-values (lambda () (time- (time hour: 4) (time hour: 10) (time hour: 24))) + (lambda (result overflow) + (test-equal "Time" (time hour: 18) result) + (test-equal "Overflow" 2 overflow)))))))) ;; TODO datetime+ datetime- |