summaryrefslogtreecommitdiff
path: root/tests/tree.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/tree.c')
-rw-r--r--tests/tree.c27
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;