source: project/release/5/holes/trunk/tests/run.scm @ 37980

Last change on this file since 37980 was 37980, checked in by juergen, 11 months ago

version 1.1 with parameter hole-delimiters

File size: 1.6 KB
Line 
1(import holes simple-tests)
2
3
4(pe '(@@ (+ !1! 5)))
5(pe '(@@ '(1 . 2)))
6(pe '(@@ (+ 5 (* !! 2))))
7(pe '(@@ (!! 1 2 3)))
8(pe '(@@ '(1 2 #(3 4 !! 6))))
9
10(print "\n\n")
11
12(hole-delimiters "!!")
13
14(define-test (bang-holes?)
15  (equal? ((@> map add1) '(0 1 2)) '(1 2 3))
16  (= ((@< list-ref 2) '(0 1 2 3)) 2)
17  (= ((@@ 5)) 5)
18  (= (##5) 5)
19  (procedure? ##(vector 1 !!))
20  (procedure? ##(lambda (x) (- x !!)))
21  (= ((##(lambda (x) (- x !!)) 2) 3) 1)
22  (equal? (call-with-values
23            ##(values 1 2 3)
24            list)
25          '(1 2 3))
26  (= (##(+ !1! 5) 2) 7)
27  (equal? (##'(1 . 2)) '(1 . 2))
28  (= (##(+ 5 (* !! 2)) 7) 19)
29  (= (##(!! 1 2 3) *) 6)
30  (= (##(!! 1 2 3) +) 6)
31  (equal? (##(list 1 2 (vector 3 4 !! 6)) 5)
32          '(1 2 #(3 4 5 6)))
33  (equal? (##(list 1 2 #(3 4 !! 6)))
34          ; note that the third arg of list is quoted
35          ; hence there are no holes
36          '(1 2 #(3 4 !! 6)))
37  (equal? (##(vector 1 2 !!) 3)
38          #(1 2 3))
39  (equal? (##(list 1 !! 2 !1!) 3 4)
40          '(1 3 2 4))
41  (equal? (##(list 1 !! 2 !!) 3)
42          '(1 3 2 3))
43  (equal? (##(list 1 !! 2 (vector !!)) 3)
44          '(1 3 2 #(3)))
45  (equal? (##(list !! !1! 2 (vector !!)) 1 2)
46          '(1 2 2 #(1)))
47  (equal? (##(cons !2! !1!) 1 2) '(2 . 1))
48  (equal? (##(list (cons !2! !1!) (cons !1! !2!)) 1 2)
49          '((2 . 1) (1 . 2)))
50  )
51
52(hole-delimiters "<>")
53
54(define-test (holes?)
55  (= (^5) 5)
56  (= (^(+ <> 2) 5) 7)
57  (= (^(- <2> <1>) 5 7) 2)
58  (equal? (^(list <> <1> <1> (vector <>)) 1 2)
59          '(1 2 2 #(1)))
60  (procedure? ^(lambda (x) (- x <>)))
61  (= ((^(lambda (x) (- x <>)) 2) 3) 1)
62  )
63
64(compound-test (HOLES)
65 (bang-holes?)
66 (holes?)
67 )
68
Note: See TracBrowser for help on using the repository browser.