(define-library (pingala test-map) (export test-map test-exit) (import (scheme base) (scheme write) (scheme process-context)) (begin (define failed? #f) (define (fail expected res) (set! failed? #t) (display "FAIL: expected ") (write expected) (display " but got ") (write res) (newline)) (define (test-exit) (exit (if failed? 1 0))) (define-syntax test-map (syntax-rules () ((test-map expected proc values) (let ((res (map proc 'values))) (if (not (equal? res 'expected)) (fail 'expected res))))))))