diff options
Diffstat (limited to 'tests/tree.c')
-rw-r--r-- | tests/tree.c | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/tests/tree.c b/tests/tree.c index b848f48..e2b2e0c 100644 --- a/tests/tree.c +++ b/tests/tree.c @@ -3,6 +3,7 @@ #include "../src/testing.h" + static int test_tree_new(void) { int rc = -1; @@ -28,6 +29,9 @@ test_tree_new(void) { rc = 0; out: + if (t != NULL) { + tree_free(&t); + } return rc; } @@ -39,7 +43,7 @@ test_tree_free(void) { test_start("tree_free()"); { - testing("simple free"); + testing("*t becomes NULL again after tree_free(&t)"); assert(t == NULL); @@ -50,6 +54,7 @@ test_tree_free(void) { assert(t != NULL); tree_free(&t); + assert(t == NULL); test_ok(); } @@ -62,6 +67,24 @@ out: return rc; } +static void +test_tree_contains(void) { + + const int y0 = 7; + const int n0 = 1; + + const struct Tree root = { + .value = &y0, + .value_size = sizeof(int), + .left = NULL, + .right = NULL, + .height = 3U, + }; + + assert(tree_contains(&root, &y0)); + + assert(!tree_contains(&root, &n0)); +} int main(void) { @@ -77,6 +100,8 @@ main(void) { goto out; } + test_tree_contains(); + rc = 0; out: return !!rc; |