racket/collects/games/gobblet/test.rkt
2010-08-26 12:11:00 -04:00

28 lines
535 B
Racket

(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"))))