(define-library (srfi 229 test) (import (scheme base) (srfi 229) (chibi test)) (export run-tests) (begin (define (run-tests . o) (test-begin "(srfi 229)") (let () (define f (lambda/tag 42 (x) (* x x))) (define f* (lambda/tag 43 (x) (* x x))) (define g (lambda/tag 44 args (apply list args))) (test-assert (procedure/tag? f)) (test-not (procedure/tag? (lambda (x) (* x x)))) (test-not (procedure/tag? +)) (test 9 (f 3)) (test 42 (procedure-tag f)) (test-not (eqv? f f*)) (test 43 (procedure-tag f*)) (test 44 (procedure-tag g)) (test '(1) (g 1)) (test '(1 2 3) (g 1 2 3))) (test-end))))