|
@@ -27,3 +27,16 @@ test('define', t => {
|
27
|
27
|
tree = helpers.evaluate('(define plusOne (lambda (x) (+ x 1))) (plusOne 5)')
|
28
|
28
|
t.deepEqual(tree[0], new AST.Number({ value: 6 }))
|
29
|
29
|
})
|
|
30
|
+
|
|
31
|
+test('conditionals', t => {
|
|
32
|
+ t.plan(3)
|
|
33
|
+
|
|
34
|
+ let tree = helpers.evaluate('(if #t 1 0)')
|
|
35
|
+ t.deepEqual(tree[0], new AST.Number({ value: 1 }))
|
|
36
|
+
|
|
37
|
+ tree = helpers.evaluate('(if #f 1 0)')
|
|
38
|
+ t.deepEqual(tree[0], new AST.Number({ value: 0 }))
|
|
39
|
+
|
|
40
|
+ tree = helpers.evaluate('(if (= (+ 4 9) (- 20 7)) (+ 10 9) (- 4 2))')
|
|
41
|
+ t.deepEqual(tree[0], new AST.Number({ value: 19 }))
|
|
42
|
+})
|