racket/collects/games/gobblet/test.ss
2005-05-27 18:56:37 +00:00

28 lines
535 B
Scheme

(module test mzscheme
(provide test report-test-results)
(define failed? #f)
(define (set-failed!) (set! failed? #t))
(define-syntax test
(syntax-rules ()
[(_ expect expr)
(begin
(printf "~s =>" 'expr)
(flush-output)
(let ([v expr]
[ex expect])
(printf " ~s" v)
(unless (equal? v ex)
(set-failed!)
(printf " EXPECTED ~s" ex)
(exit))
(printf "~n")))]))
(define (report-test-results)
(printf (if failed?
"~nTESTS FAILED~n"
"~nAll tests passed.~n"))))