From 39859c6ee1c0a3340e308a5346facae970f8df43 Mon Sep 17 00:00:00 2001 From: mo khan Date: Fri, 28 Aug 2020 13:50:18 -0600 Subject: Add more test cases --- src/03/avl_tree_test.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src') diff --git a/src/03/avl_tree_test.c b/src/03/avl_tree_test.c index 662b27b..c2e0b3f 100644 --- a/src/03/avl_tree_test.c +++ b/src/03/avl_tree_test.c @@ -276,6 +276,32 @@ Ensure(delete_handles_right_left) { assert_that(tree->right->right->value, is_equal_to(30)); } +Ensure(delete_handles_a_complicated_and_large_tree) { + int items[] = { 44, 17, 62, 10, 32, 50, 78, 21, 48, 54, 72, 88, 45, 49, 52, 56, 81, 92 }; + unsigned int length = sizeof(items)/sizeof(items[0]); + AVLTree *tree = NULL; + + for (int i = 0; i < length; i++) + tree = avl_tree_insert(tree, items[i]); + + tree = avl_tree_delete(tree, 32); + + assert_that(tree->value, is_equal_to(62)); +} + +Ensure(delete_handles_a_complicated_and_small_tree) { + int items[] = { 9, 1, 10, 0, 5, 11, -1, 2, 6 }; + unsigned int length = sizeof(items)/sizeof(items[0]); + AVLTree *tree = NULL; + + for (int i = 0; i < length; i++) + tree = avl_tree_insert(tree, items[i]); + + tree = avl_tree_delete(tree, 10); + + assert_that(tree->value, is_equal_to(1)); +} + TestSuite *avl_tree_tests() { TestSuite *x = create_test_suite(); add_test(x, initialize_returns_new_tree); @@ -294,6 +320,8 @@ TestSuite *avl_tree_tests() { add_test(x, delete_handles_left_right_case); add_test(x, delete_handles_right_right_case); add_test(x, delete_handles_right_left); + add_test(x, delete_handles_a_complicated_and_large_tree); + add_test(x, delete_handles_a_complicated_and_small_tree); return x; } -- cgit v1.2.3