source: project/release/5/dotted-lambdas/trunk/tests/run.scm

Last change on this file was 39586, checked in by juergen, 6 months ago

dotted-lambdas 1.2 with new test version

File size: 1.4 KB
Line 
1(import dotted-lambdas)
2
3(import simple-tests (chicken base) (chicken condition))
4
5(define-tester
6  (calls? lst (callable '(0 1 2 3)) lst0 (callable '()))
7  (condition-case (lst0 0) ((exn) #f))
8  #f
9  (lst 0)
10  0
11  (lst 3)
12  3
13  (lst -1)
14  4
15  (condition-case (lst 5) ((exn) #f))
16  #f)
17
18(define-tester
19  (lambdas?)
20  ((lambda* (xs ...) (list (xs 0) (xs 1) (xs 2))) 1 2 3)
21  '(1 2 3)
22  ((lambda* (x xs ...) (apply list x (xs))) 1 2 3)
23  '(1 2 3)
24  (condition-case ((lambda* (xs ..) xs) 1 2 3) ((exn) #f))
25  #f
26  (condition-case ((lambda* (xs ....) xs)) ((exn) #f))
27  #f
28  ((lambda* (xs ...) (xs)))
29  '()
30  ((lambda* (x y zs ...) (list x y (zs 0) (zs 1))) 1 2 3 4)
31  '(1 2 3 4)
32  (condition-case ((lambda* (x y zs ..) (list x y zs)) 1 2 3 4) ((exn) #f))
33  #f
34  (condition-case ((lambda* (x y zs ....) (list x y zs)) 1 2) ((exn) #f))
35  #f
36  ((lambda* (as ...) (as)) 1 2 3)
37  '(1 2 3)
38  ((lambda* (as ...) (as)))
39  '())
40
41(define* (inc x i ..) (+ x (optional (i) 1)))
42
43(define* (foo x y zs ...) (list x y (zs)))
44
45(define* (bar x ys ....) (list x (ys)))
46
47(define* (baz xs ..) (list (xs)))
48
49(define-tester
50  (defines?)
51  (inc 5)
52  6
53  (inc 5 3)
54  8
55  (foo 1 2 3 4)
56  '(1 2 (3 4))
57  (foo 1 2)
58  '(1 2 ())
59  (bar 1 2 3 4)
60  '(1 (2 3 4))
61  (condition-case (bar 1) ((exn) #f))
62  #f
63  (baz 1)
64  '((1))
65  (condition-case (baz 1 2) ((exn) #f))
66  #f)
67
68(test-all DOTTED-LAMBDAS
69  calls?
70  lambdas?
71  defines?
72  )
Note: See TracBrowser for help on using the repository browser.