1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
;; time.l
;; Author: Yuki Furuta <furushchev@jsk.imi.i.u-tokyo.ac.jp>
(require :unittest "lib/llib/unittest.l")
(init-unit-test)
(deftest test-date-time
(setq d (instance calendar-time :make
:year 2015 :month 8 :day 16
:hour 18 :minute 39 :second 58
:micro 746342))
(setq d-add1 (send d :add
(instance interval-time :make
:hour 2 :minute 3 :second 4 :micro 300)))
(assert (and (eq (send d-add1 :hour)
(+ (send d :hour) 2))
(eq (send d-add1 :minute)
(+ (send d :minute) 4))
(eq (send d-add1 :second)
(mod (+ (send d :second) 4) 60))
(eq (send d-add1 :micro)
(+ (send d :micro) 300))))
(setq d-add2 (send d :add
(instance interval-time :make
:hour 2 :minute 3 :second 4 :micro 3000000)))
(assert (and (eq (send d-add2 :hour)
(+ (send d :hour) 2))
(eq (send d-add2 :minute)
(+ (send d :minute) 4))
(eq (send d-add2 :second)
(mod (+ (send d :second) 4 3) 60))
(eq (send d-add2 :micro)
(send d :micro))))
(setq d-sub1 (send d :subtract
(instance interval-time :make
:hour 2 :minute 3 :second 4 :micro 300)))
(assert (and (eq (send d-sub1 :hour)
(- (send d :hour) 2))
(eq (send d-sub1 :minute)
(- (send d :minute) 3))
(eq (send d-sub1 :second)
(- (send d :second) 4))
(eq (send d-sub1 :micro)
(- (send d :micro) 300))))
(setq d-sub2 (send d :subtract
(instance interval-time :make
:hour 2 :minute 3 :second 4 :micro 3000000)))
(assert (and (eq (send d-sub2 :hour)
(- (send d :hour) 2))
(eq (send d-sub2 :minute)
(- (send d :minute) 3))
(eq (send d-sub2 :second)
(- (send d :second) 4 3))
(eq (send d-sub2 :micro)
(send d :micro))))
)
(deftest test-asctime
;; asctime segfaults on arm32:sid
(unix::asctime (unix::localtime)) ;; check if asctime works
(assert (string=
(unix::asctime #(41 26 15 27 8 125 6 269 nil ("JST" "JST")))
(format nil "Sat Sep 27 15:26:41 2025~%")))
)
(eval-when (load eval)
(run-all-tests)
(exit))
;; end of time.l
|