aboutsummaryrefslogtreecommitdiffstats
path: root/lib/csc/match-test.csc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/csc/match-test.csc')
-rw-r--r--lib/csc/match-test.csc113
1 files changed, 0 insertions, 113 deletions
diff --git a/lib/csc/match-test.csc b/lib/csc/match-test.csc
deleted file mode 100644
index c5923e4..0000000
--- a/lib/csc/match-test.csc
+++ /dev/null
@@ -1,113 +0,0 @@
-(define-library (csc match-test)
- (import (scheme base)
- (only (csc testing) assert-equal test)
- (csc match))
- (begin
-
-
- (test match-cond
- (assert-equal
- 3
- (match 3
- ('0 0)
- ('1 1)
- ('2 2)
- ('3 3)
- ('4 4))))
-
-
- (test match-list
- (assert-equal
- 2
- (match '(1 2 3)
- ('() 0)
- (('1 '2) 1)
- (('1 '2 '3) 2)
- (('1 '2 '3 '4) 3)
- (_ 4))))
-
-
- (test match-binding
- (assert-equal
- 2
- (match '(1 2 3)
- (('1 x '3) x))))
-
-
- (test match-destructuring
- (assert-equal
- 1
- (match '(1 2 3)
- ('() 0)
- ((head . _) head))))
-
-
- (test match-ignore
- (assert-equal
- 2
- (match '(1 2 3)
- ((_ _ _ _) 0)
- (('2 _ _) 1)
- (('1 _ _) 2)
- (_ 3))))
-
-
- (test match-improper-list
- (assert-equal
- 2
- (match '(1 2 3)
- (('2 . _) 1)
- (('1 . x) (car x))
- (_ 3))))
-
-
- (test match-symbol
- (assert-equal
- 2
- (match 'b
- ('a 1)
- ('b 2)
- (_ 3))))
-
-
- (test match-when
- (assert-equal
- 3
- (match 'b
- ('a 1)
- ('b when #f 2)
- ('b when #t 3)
- (_ 4))))
-
-
- (test match-when-depending-on-pattern-variable
- (assert-equal
- 2
- (match 10
- (n when (= 1 n) 1)
- (n when (= 10 n) 2)
- (_ 3))))
-
-
- (define-match-record-type <test-record-type>
- (make-test-record-type a b c)
- test-record-type?
- %test-record-type
- (a test-record-type-a)
- (b test-record-type-b)
- (c test-record-type-c))
-
-
- (test match-record-type
- (assert-equal
- 2
- (match (make-test-record-type 1 2 3)
- ((% %test-record-type a b c) b))))
-
-
- (test match-record-type-any
- (assert-equal
- 2
- (match '(1 2 3)
- ((% %test-record-type . _) 1)
- ('(1 2 3) 2))))))