diff --git a/ansi-tests/decode-universal-time.lsp b/ansi-tests/decode-universal-time.lsp new file mode 100644 index 0000000000000000000000000000000000000000..dd8eb7a15356f537c40f11aa2b5e9c431e230d48 --- /dev/null +++ b/ansi-tests/decode-universal-time.lsp @@ -0,0 +1,69 @@ +;-*- Mode: Lisp -*- +;;;; Author: Paul Dietz +;;;; Created: Sat May 7 07:00:58 2005 +;;;; Contains: Tests of DECODE-UNIVERSAL-TIME + +(in-package :cl-test) + +(deftest decode-universal-time.1 + (decode-universal-time 0 0) + 0 0 0 1 1 1900 0 nil 0) + +(deftest decode-universal-time.2 + (decode-universal-time 0 -1) + 0 0 1 1 1 1900 0 nil -1) + +(deftest decode-universal-time.3 + (let ((count 0)) + (loop for time = (random 10000000000) + for tz = (- (random 49) 24) + for (second minute hour date month year day daylight-p zone) + = (multiple-value-list (decode-universal-time time tz)) + for time2 = (encode-universal-time second minute hour date month year zone) + repeat 1000 + unless (and (eql tz zone) (eql time time2) (null daylight-p)) + collect (progn (incf count) + (list time tz (list second minute hour date month year day daylight-p zone) time2)) + until (>= count 100))) + nil) + +(deftest decode-universal-time.4 + (let ((count 0)) + (loop for time = (random 10000000000) + for tz = (/ (- (random (1+ (* 48 3600))) (* 24 3600)) 3600) + for (second minute hour date month year day daylight-p zone) + = (multiple-value-list (decode-universal-time time tz)) + for time2 = (encode-universal-time second minute hour date month year zone) + repeat 1000 + unless (and (eql tz zone) (eql time time2) (null daylight-p)) + collect (progn (incf count) + (list time tz (list second minute hour date month year day daylight-p zone) time2)) + until (>= count 100))) + nil) + +(deftest decode-universal-time.5 + (let ((count 0)) + (loop for time = (let ((x (random 10000000000))) (print x) x) + for (second minute hour date month year day daylight-p zone) + = (multiple-value-list (decode-universal-time time)) + for time2 = (encode-universal-time second minute hour date month year) + repeat 1000 + unless (eql time time2) + collect (progn (incf count) + (list time (list second minute hour date month year day daylight-p zone) time2)) + until (>= count 100))) + nil) + +;;; Error tests + +(deftest decode-universal-time.error.1 + (signals-error (decode-universal-time) program-error) + t) + +(deftest decode-universal-time.error.2 + (signals-error (decode-universal-time 0 0 nil) program-error) + t) + + + + diff --git a/ansi-tests/load-environment.lsp b/ansi-tests/load-environment.lsp index 255792e89d66e1f8f8fbde05218ebfe250e55cad..f5e9c58aad6b69e1115217c042e365913d8a3b2f 100644 --- a/ansi-tests/load-environment.lsp +++ b/ansi-tests/load-environment.lsp @@ -12,3 +12,5 @@ (load "time.lsp") (load "trace.lsp") (load "user-homedir-pathname.lsp") + +(load "decode-universal-time.lsp")