diff options
Diffstat (limited to 'test/tree.c')
-rw-r--r-- | test/tree.c | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/test/tree.c b/test/tree.c index 4c32746..b4c6ed8 100644 --- a/test/tree.c +++ b/test/tree.c @@ -29,8 +29,6 @@ int main(int argc, char** argv) { tree_lstr_1 = tree_init(TREE_TYPE_LSTR); tree_tag_0 = tree_init(TREE_TYPE_TAG); tree_tag_1 = tree_init(TREE_TYPE_TAG); - tree_def_0 = tree_init(TREE_TYPE_DEF); - tree_def_1 = tree_init(TREE_TYPE_DEF); tree_call_0 = tree_init(TREE_TYPE_CALL); tree_call_1 = tree_init(TREE_TYPE_CALL); @@ -49,6 +47,32 @@ int main(int argc, char** argv) { ASSERT(tree_cmp(tree_lint_0, tree_lint_0) == 1); ASSERT(tree_cmp(tree_lint_0, tree_lint_1) == 0); + /* Test lstrs. */ + tree_lstr_0->data.lstr.val = "foo"; + tree_lstr_0->data.lstr.len = 3; + tree_lstr_1->data.lstr.val = "bar"; + tree_lstr_1->data.lstr.len = 3; + ASSERT(tree_cmp(tree_lstr_0, tree_lstr_0) == 1); + ASSERT(tree_cmp(tree_lstr_0, tree_lstr_1) == 0); + + /* Test tags. */ + tree_tag_0->data.tag.val = "int"; + tree_tag_0->data.tag.nxt = NULL; + tree_tag_1->data.tag.val = "str"; + tree_tag_1->data.tag.nxt = NULL; + ASSERT(tree_cmp(tree_tag_0, tree_tag_0) == 1); + ASSERT(tree_cmp(tree_tag_0, tree_tag_1) == 0); + tree_tag_1->data.tag.nxt = tree_tag_0; + ASSERT(tree_cmp(tree_tag_0, tree_tag_1) == 0); + + /* Test calls. */ + tree_call_0->data.call.arg = NULL; + tree_call_0->data.call.target = "foo"; + tree_call_1->data.call.arg = NULL; + tree_call_1->data.call.target = "bar"; + ASSERT(tree_cmp(tree_call_0, tree_call_0) == 1); + ASSERT(tree_cmp(tree_call_0, tree_call_1) == 0); + TEST_REPORT; return 0; } |