19 lines
498 B
Racket
19 lines
498 B
Racket
(module test-macro mzscheme
|
|
|
|
(require mzlib/etc)
|
|
|
|
(provide test)
|
|
|
|
;; test: (lambda (a?) ((a? a? . -> . boolean?) a? a? . -> . (void))
|
|
;; tests to see if the expression is true and prints and error if it's not
|
|
(define-syntax test
|
|
(syntax-rules (identity)
|
|
((_ test actual expected)
|
|
(let ([result
|
|
(with-handlers
|
|
([exn? identity])
|
|
actual)])
|
|
(and (not (exn? result))
|
|
(test result expected))))))
|
|
)
|