diff options
| author | Oskari Timperi <oskari.timperi@iki.fi> | 2014-05-14 23:44:46 +0300 |
|---|---|---|
| committer | Oskari Timperi <oskari.timperi@iki.fi> | 2014-05-14 23:44:46 +0300 |
| commit | 3666d3b9334286a2242c8da20cac446dd9ee17e9 (patch) | |
| tree | b6c25341cfe896acef113b6dda0e03da2fc172d4 | |
| parent | 671e454c7c2d4080e3737efd9132ac9a63d808db (diff) | |
| download | lispish-3666d3b9334286a2242c8da20cac446dd9ee17e9.tar.gz lispish-3666d3b9334286a2242c8da20cac446dd9ee17e9.zip | |
eval: more tests
| -rw-r--r-- | eval.c | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -311,4 +311,27 @@ TEST(eval) #undef EVAL } +TEST(nested_expression) +{ + struct list *result = eval_str("(eq #f (> (- (+ 1 3) (* 2 (mod 7 4))) 4))"); + ASSERT_TRUE(result != NULL); + ASSERT_TRUE(IS_TRUE(result)); +} + +TEST(basic_if) +{ + struct list *result = eval_str("(if #t 42 1000)"); + ASSERT_TRUE(result != NULL); + ASSERT_EQ(ATOM_INT, ATOM_TYPE(result)); + ASSERT_EQ(42, LIST_GET_ATOM(result)->l); +} + +TEST(if_with_sub_expressions) +{ + struct list *result = eval_str("(if (> 1 2) (- 1000 1) (+ 40 (- 3 1)))"); + ASSERT_TRUE(result != NULL); + ASSERT_EQ(ATOM_INT, ATOM_TYPE(result)); + ASSERT_EQ(42, LIST_GET_ATOM(result)->l); +} + #endif /* BUILD_TEST */ |
