(require (lib "test.ss" "schemeunit"))
(require (lib "text-ui.ss" "schemeunit"))
(test/text-ui
(make-test-suite
"Example tests"
(make-test-suite
"Arithmetic tests"
(make-test-case "Multiply by zero"
(assert = (* 1234 0) 0))
(make-test-case "Add zero"
(assert = (+ 1234 0) 1234))
(make-test-case "Multiply by one"
(assert = (* 123.0 1) 123))
(make-test-case "Add one"
(assert = (+ 123.0 1) 124))
(make-test-case "Expt 0 0"
(assert = 1 (expt 0 0)))
(make-test-case "Expt 0 1"
(assert = 0 (expt 0 1)))
(make-test-case "Expt 0.0 0.0"
(assert = 1.0 (expt 0.0 0.0)))
(make-test-case "Expt 0.0 1.0"
(assert = 0.0 (expt 0.0 1.0)))
)
(make-test-suite
"File tests"
(let ((port (open-input-string "this is a test string")))
(make-test-case
"String port read"
(assert-equal? "this is a test string" (read-line port))
teardown
(close-input-port port)))
(make-test-case
"File port read"
(with-input-from-file "test.dat"
(lambda ()
(assert-equal? "foo" (read))))
setup
(with-output-to-file "test.dat"
(lambda ()
(write "foo")))
teardown
(delete-file "test.dat"))
)
))