summaryrefslogtreecommitdiff
path: root/src/03/rb_tree_test.c
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-08-28 14:24:45 -0600
committermo khan <mo.khan@gmail.com>2020-08-28 14:24:45 -0600
commit2c5a1f4ec23247597f7a2a2007f74f11aaebfeb3 (patch)
tree2b969fede99c14f2238708a9502da8c1d591bd03 /src/03/rb_tree_test.c
parentcfca07ab13c54ce56cb506934c645fa13e3d2212 (diff)
create initializer for red/black tree
Diffstat (limited to 'src/03/rb_tree_test.c')
-rw-r--r--src/03/rb_tree_test.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/03/rb_tree_test.c b/src/03/rb_tree_test.c
index 6ce05f4..4d5d989 100644
--- a/src/03/rb_tree_test.c
+++ b/src/03/rb_tree_test.c
@@ -1,13 +1,28 @@
#include "rb_tree.h"
#include <cgreen/cgreen.h>
#include <string.h>
+/*
+ * Every node has a colour. red or black
+ * Root of the tree is always black.
+ * There are no two adjacent red nodes. (red node cannot have red parent or child)
+ * Every path from root to child NULL node has same # of black nodes.
+ */
Ensure(one_equals_one) {
assert_that(1, is_equal_to(1));
}
+Ensure(initialize_returns_a_new_tree) {
+ RBTree *tree = rb_tree_initialize(10);
+
+ assert_that(tree, is_not_equal_to(NULL));
+ assert_that(tree->value, is_equal_to(10));
+ assert_that(tree->colour, is_equal_to(black));
+}
+
TestSuite *rb_tree_tests() {
TestSuite *x = create_test_suite();
add_test(x, one_equals_one);
+ add_test(x, initialize_returns_a_new_tree);
return x;
}