diff options
| author | mo khan <mo.khan@gmail.com> | 2020-08-28 13:50:18 -0600 |
|---|---|---|
| committer | mo khan <mo.khan@gmail.com> | 2020-08-28 13:50:18 -0600 |
| commit | 39859c6ee1c0a3340e308a5346facae970f8df43 (patch) | |
| tree | c840a5cf09883cbd17578dcd42ec03039997e377 /src/03/avl_tree_test.c | |
| parent | 64d34f33575b0bd3c54e9d5c0ad8eef45cd26287 (diff) | |
Add more test cases
Diffstat (limited to 'src/03/avl_tree_test.c')
| -rw-r--r-- | src/03/avl_tree_test.c | 28 |
1 files changed, 28 insertions, 0 deletions
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; } |
