;;;; test-utils.test.scm -*- Scheme -*- (module (test-utils test) (;export test-each test-assert-each) (import scheme) (define-syntax test-assert-each (syntax-rules () ((test-assert-each ?ttl (?a0 ...) ?e ?l0 ...) (let () (define (test-each-body) (call/cc (lambda (return) (for-each (lambda (?a0 ...) (unless ?e (return #f))) ?l0 ...) #t)) ) (test-assert ?ttl (test-each-body)) ) ) ) ) (define-syntax test-each (syntax-rules () ((test-each ?ttl ?vs (?a0 ...) ?e ?l0 ...) (let ((tst$ (current-test-comparator))) (test-assert-each ?ttl (v ?a0 ...) (tst$ v ?e) ?vs ?l0 ...) ) ) ) ) ) ;module (test-utils test)