Skip to content

Commit aa9c867

Browse files
committed
Some tests for the reader.
1 parent e23d516 commit aa9c867

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed

langs/outlaw/test/read.rkt

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
#lang racket
2+
(require rackunit
3+
(rename-in "../read.rkt" [read read-stdin]))
4+
5+
(define (p s)
6+
(with-input-from-string s
7+
(lambda ()
8+
(read-stdin))))
9+
10+
(check-equal? (p "") eof)
11+
(check-equal? (p " ") eof)
12+
(check-equal? (p ";123") eof)
13+
(check-equal? (p "#;123 ") eof)
14+
(check-equal? (p "#;123") eof)
15+
(check-equal? (p "#|123|# ") eof)
16+
(check-equal? (p "#;#|123|#1 ") eof)
17+
(check-equal? (p "#;#;1 2") eof)
18+
(check-equal? (p "123") 123)
19+
(check-equal? (p "#t") #t)
20+
(check-equal? (p "#f") #f)
21+
(check-equal? (p "#T") #t)
22+
(check-equal? (p "#F") #f)
23+
(check-equal? (p "#b0") 0)
24+
(check-equal? (p "#b1") 1)
25+
(check-equal? (p "#b101") #b101)
26+
(check-equal? (p "#B101") #b101)
27+
(check-equal? (p "#o0") 0)
28+
(check-equal? (p "#o1") 1)
29+
(check-equal? (p "#o701") #o701)
30+
(check-equal? (p "#O701") #o701)
31+
(check-equal? (p "#d0") 0)
32+
(check-equal? (p "#d1") 1)
33+
(check-equal? (p "#d901") 901)
34+
(check-equal? (p "#D901") 901)
35+
(check-equal? (p "#x0") 0)
36+
(check-equal? (p "#x1") 1)
37+
(check-equal? (p "#xF01") #xF01)
38+
(check-equal? (p "#XF01") #xF01)
39+
(check-equal? (p ";123\n1") 1)
40+
(check-equal? (p "()") '())
41+
(check-equal? (p "[]") '())
42+
(check-equal? (p "{}") '())
43+
(check-equal? (p "(#t)") '(#t))
44+
(check-equal? (p "[#t]") '(#t))
45+
(check-equal? (p "{#t}") '(#t))
46+
(check-equal? (p "((#t))") '((#t)))
47+
(check-equal? (p "#\\u ") #\u)
48+
(check-equal? (p "#\\p\n") #\p)
49+
(check-equal? (p "(1 . 2)") '(1 . 2))
50+
#|
51+
(check-pred err? (p (string-append "#" "|")))
52+
(check-pred err? (p "#;"))
53+
(check-pred err? (p "(}"))
54+
(check-pred err? (p "(]"))
55+
(check-pred err? (p "[)"))
56+
(check-pred err? (p "(x}"))
57+
(check-pred err? (p "(x]"))
58+
(check-pred err? (p "[x)"))
59+
(check-pred err? (p "(x . y}"))
60+
(check-pred err? (p "(x . y]"))
61+
(check-pred err? (p "[x . y)")))
62+
|#

0 commit comments

Comments
 (0)