source: project/release/5/holes/tags/1.2/tests/run.scm @ 37990

Last change on this file since 37990 was 37990, checked in by juergen, 2 months ago

holes 1.2 with new hole delimiters < and > and without read macros

File size: 1.4 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(define-test (holes?)
13  (equal? ((@> map add1) '(0 1 2)) '(1 2 3))
14  (= ((@< list-ref 2) '(0 1 2 3)) 2)
15  (procedure? (@@ 5))
16  (= ((@@ 5)) 5)
17  (procedure? (@@ (vector 1 <>)))
18  (procedure? (@@ (lambda (x) (- x <>))))
19  (= (((@@ (lambda (x) (- x <>))) 2) 3) 1)
20  (equal? (call-with-values
21            (@@ (values 1 2 3))
22            list)
23          '(1 2 3))
24  (= ((@@ (+ <1> 5)) 2) 7)
25  (equal? ((@@ '(1 . 2))) '(1 . 2))
26  (= ((@@ (+ 5 (* <> 2))) 7) 19)
27  (= ((@@ (<> 1 2 3)) *) 6)
28  (= ((@@ (<> 1 2 3)) +) 6)
29  (equal? ((@@ (list 1 2 (vector 3 4 <> 6))) 5)
30          '(1 2 #(3 4 5 6)))
31  (equal? ((@@ (list 1 2 '#(3 4 <> 6))))
32          ; note that the third arg of list is quoted
33          ; hence there are no holes
34          '(1 2 #(3 4 <> 6)))
35  (equal? ((@@ (vector 1 2 <>)) 3)
36          #(1 2 3))
37  (equal? ((@@ (list 1 <> 2 <1>)) 3 4)
38          '(1 3 2 4))
39  (equal? ((@@ (list 1 <> 2 <>)) 3)
40          '(1 3 2 3))
41  (equal? ((@@ (list 1 <> 2 (vector <>))) 3)
42          '(1 3 2 #(3)))
43  (equal? ((@@ (list <> <1> 2 (vector <>))) 1 2)
44          '(1 2 2 #(1)))
45  (equal? ((@@ (cons <2> <1>)) 1 2)
46          '(2 . 1))
47  (equal? ((@@ (list (cons <2> <1>) (cons <1> <2>))) 1 2)
48          '((2 . 1) (1 . 2)))
49  )
50
51(compound-test (HOLES)
52 (holes?)
53 )
54
Note: See TracBrowser for help on using the repository browser.