source: project/release/5/callable-sequences/trunk/tests/run.scm @ 38851

Last change on this file since 38851 was 38851, checked in by juergen, 3 months ago

callable-sequences-1.0.0 version

File size: 2.9 KB
Line 
1(import scheme callable-sequences simple-tests (chicken condition))
2
3
4(define-checks (callables? verbose?
5                           pair
6                           (make-callable '(0 1 2 3 4 5 . 6))
7                           lst
8                           (make-callable '(0 1 2 3 4 5))
9                           vec
10                           (make-callable #(0 1 2 3 4 5))
11                           str
12                           (make-callable "012345"))
13
14  (callable-length pair)
15  6
16  (callable-length lst)
17  6
18  (callable-length str)
19  6
20  (callable-length vec)
21  6
22  (lst 0)
23  0
24  (lst 3)
25  3
26  (vec 3)
27  3
28  (str 3)
29  #\3
30  (lst 5)
31  5
32  (condition-case (lst (callable-length lst))
33    ((exn) #f))
34  #f
35  (condition-case (vec (callable-length vec))
36    ((exn) #f))
37  #f
38  (condition-case (str (callable-length str))
39    ((exn) #f))
40  #f
41  (callable-data (lst 2 4))
42  '(2 3)
43  (callable-data (lst 0 3))
44  '(0 1 2)
45  (callable-length (lst 0 3))
46  3
47  (callable-data (pair 0 3))
48  '(0 1 2 . 6)
49  (callable-data (pair 0 0))
50  6
51  (callable-null? (pair 3 3))
52  #t
53  (callable-null? (vec 1 2))
54  #f
55  (callable-data (pair 3 0))
56  '(3 2 1 . 6)
57  (callable-data (vec 0 3))
58  #(0 1 2)
59  (callable-data (str 0 3))
60  "012"
61  (callable-data (lst 3 0))
62  '(3 2 1)
63  (callable-data (vec 3 0))
64  #(3 2 1)
65  (callable-data (str 3 0))
66  "321"
67  (callable-data (pair 0 #f))
68  '(0 1 2 3 4 5 . 6)
69  (callable-data (pair 0 (callable-length pair)))
70  '(0 1 2 3 4 5 . 6)
71  (callable-data (lst 0 6))
72  '(0 1 2 3 4 5)
73  (callable-data (vec 0 #f))
74  #(0 1 2 3 4 5)
75  (callable-data (str 0 #f))
76  "012345"
77  (condition-case (lst 0 7)
78    ((exn) #f))
79  #f
80  (condition-case (vec 0 7)
81    ((exn) #f))
82  #f
83  (condition-case (str 0 7)
84    ((exn) #f))
85  #f
86  (callable-data (lst 0 #f))
87  '(0 1 2 3 4 5)
88  (callable-data (vec 0 #f))
89  #(0 1 2 3 4 5)
90  (callable-data (str 0 #f))
91  "012345"
92  (callable-data (lst #f -1))
93  '(5 4 3 2 1 0)
94  (callable-data (lst (- (callable-length lst) 1) -1))
95  '(5 4 3 2 1 0)
96  (callable-data (callable-reverse lst))
97  '(5 4 3 2 1 0)
98  (callable-data (vec #f -1))
99  #(5 4 3 2 1 0)
100  (callable-data (vec (- (callable-length vec) 1) -1))
101  #(5 4 3 2 1 0)
102  (callable-data (vec #f -1))
103  #(5 4 3 2 1 0)
104  (callable-data (str #f -1))
105  "543210"
106  (callable-data (str (- (callable-length str) 1) -1))
107  "543210"
108  (callable-data (callable-reverse str))
109  "543210"
110  (callable-data (lst 3 1))
111  '(3 2)
112  (callable-data (vec 3 1))
113  #(3 2)
114  (callable-data (str 3 1))
115  "32"
116  (callable? str)
117  #t
118  (callable-sas? lst)
119  #t
120  (callable-ras? lst)
121  #f
122  (callable? lst)
123  #t
124  (callable? vec)
125  #t
126  (callable? (lst 1 4))
127  #t
128  (callable? (vec 1 4))
129  #t
130  (callable-ras? (str 1 4))
131  #t
132  (callable-sas? (str 1 4))
133  #f
134  (callable? (str 1 4))
135  #t
136  (callable? car)
137  #f
138  (callable? '(0 1 2 3))
139  #f
140  (callable? #(0 1 2 3))
141  #f
142  (callable? "0123")
143  #f
144  (callable? "0123")
145  #f
146)
147;(callables?)
148
149(check-all CALLABLES (callables?))
Note: See TracBrowser for help on using the repository browser.