blob: f28eb3795e0de06039a84f8348f1ff47b304c6a9 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
(define-syntax define-test-application
(syntax-rules ()
((_ name (args ...))
(define-test-application "loop" name (args ...) () ()))
((_ "loop" name ((default) args ...) (rest ...) ids)
(define-test-application "loop" name (args ...)
((#f default) rest ...) ids))
((_ "loop" name (arg args ...) (rest ...) (ids ...))
(define-test-application "loop" name (args ...)
((arg tmp) rest ...) (tmp ids ...)))
((_ "loop" name () stuff ids)
(define-test-application "reverse1" name stuff ids ()))
((_ "reverse1" name (pair rest ...) ids (acc ...))
(define-test-application "reverse1" name (rest ...) ids (pair acc ...)))
((_ "reverse1" name () ids pairs)
(define-test-application "reverse2" name ids () pairs))
((_ "reverse2" name (id1 id2 ...) (acc ...) pairs)
(define-test-application "reverse2" name (id2 ...) (id1 acc ...) pairs))
((_ "reverse2" name () (ids ...) (pairs ...))
(define-syntax name
(syntax-rules ()
((_ ids ...) (name #f ids ...))
((_ test-name ids ...)
(test-named-application test-name pairs ...)))))))
|