1(define-library (pingala test-map)
2  (export test-map test-exit)
3  (import (scheme base) (scheme write) (scheme process-context))
4  (begin
5    (define failed? #f)
6    (define (fail expected res)
7      (set! failed? #t)
8      (display "FAIL: expected ")
9      (write expected)
10      (display " but got ")
11      (write res)
12      (newline))
13    (define (test-exit) (exit (if failed? 1 0)))
14    (define-syntax test-map
15      (syntax-rules ()
16        ((test-map expected proc values)
17         (let ((res (map proc 'values)))
18           (if (not (equal? res 'expected))
19               (fail 'expected res))))))))
20