From 57de152bcebc7ffb06ecff616ff00d787ee9a495 Mon Sep 17 00:00:00 2001 From: mo khan Date: Sun, 20 Sep 2020 17:41:28 -0600 Subject: refactor: change colouring algorithm --- src/03/rb_tree_test.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/03/rb_tree_test.c') diff --git a/src/03/rb_tree_test.c b/src/03/rb_tree_test.c index 3fca748..4bb2d7e 100644 --- a/src/03/rb_tree_test.c +++ b/src/03/rb_tree_test.c @@ -277,6 +277,24 @@ Ensure(is_valid_return_true) { assert_that(rb_tree_is_valid(tree), is_equal_to(true)); } +Ensure(height_returns_one) { + assert_that(rb_tree_height(NULL), is_equal_to(1)); +} + +Ensure(height_returns_three_when_left_subtree_is_present) { + RBTree *tree = rb_tree_initialize(10); + tree = rb_tree_insert(tree, 5); + + assert_that(rb_tree_height(tree), is_equal_to(3)); +} + +Ensure(height_returns_three_when_right_subtree_is_present) { + RBTree *tree = rb_tree_initialize(10); + tree = rb_tree_insert(tree, 15); + + assert_that(rb_tree_height(tree), is_equal_to(3)); +} + TestSuite *rb_tree_tests() { TestSuite *x = create_test_suite(); @@ -305,5 +323,9 @@ TestSuite *rb_tree_tests() { add_test(x, is_valid_returns_false_when_red_node_has_red_child); add_test(x, is_valid_returns_false_when_each_path_to_leaves_does_not_contain_the_same_number_of_black_nodes); add_test(x, is_valid_return_true); + + add_test(x, height_returns_one); + add_test(x, height_returns_three_when_left_subtree_is_present); + add_test(x, height_returns_three_when_right_subtree_is_present); return x; } -- cgit v1.2.3