chibi-scheme/lib/srfi/219/test.sld
2021-04-18 12:21:32 +03:00

27 lines
835 B
Scheme

(define-library (srfi 219 test)
(export run-tests)
(import (chibi) (chibi test) (rename (srfi 219) (define define-219)))
(begin
(define (run-tests)
(test-group
"srfi-219: define higher-order lambda"
(let ()
(define-219 ((greet/prefix prefix) suffix)
(string-append prefix " " suffix))
(let ((greet (greet/prefix "Hello")))
(test "Hello there!" (greet "there!"))))
(let ()
(define-219 ((append-to . a) . b)
(apply append (append a b)))
(test '()
((append-to '()) '()))
(test '(1 2 3 4 5 6 7 8)
((append-to '(1 2) '(3 4)) '(5 6) '(7 8))))
(let ()
(define-219 (((jenga a b) c d))
(list a b c d))
(test '(1 2 3 4)
(((jenga 1 2) 3 4))))))))