blob: fa40f0fecbf163837817a90c9177aa4f3c6b0dd1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
(.module:
[lux #*
[io]
[control
[monad (#+ do Monad)]]
[data
[number]
["." text ("#;." equivalence)
format]]
[math
["r" random]]
[macro
["&" code]]]
lux/test)
(context: "Code"
(with-expansions
[<tests> (do-template [<expr> <text>]
[(test (format "Can produce Code node: " <text>)
(and (text;= <text> (&.to-text <expr>))
(:: &.equivalence = <expr> <expr>)))]
[(&.bit #1) "#1"]
[(&.bit #0) "#0"]
[(&.int +123) "+123"]
[(&.frac +123.0) "+123.0"]
[(&.text "1234") (format text.double-quote "1234" text.double-quote)]
[(&.tag ["yolo" "lol"]) "#yolo.lol"]
[(&.identifier ["yolo" "lol"]) "yolo.lol"]
[(&.form (list (&.bit #1) (&.int +123))) "(#1 +123)"]
[(&.tuple (list (&.bit #1) (&.int +123))) "[#1 +123]"]
[(&.record (list [(&.bit #1) (&.int +123)])) "{#1 +123}"]
[(&.local-tag "lol") "#lol"]
[(&.local-identifier "lol") "lol"]
)]
($_ seq <tests>)))
|