diff options
Diffstat (limited to 'src/02/03/btree_test.c')
| -rw-r--r-- | src/02/03/btree_test.c | 55 |
1 files changed, 38 insertions, 17 deletions
diff --git a/src/02/03/btree_test.c b/src/02/03/btree_test.c index 12416a5..47cd438 100644 --- a/src/02/03/btree_test.c +++ b/src/02/03/btree_test.c @@ -16,7 +16,7 @@ Ensure(BinaryTree, when_the_tree_is_NULL) { Ensure( BinaryTree, when_inserting_an_item_less_than_the_root_in_a_tree_it_creates_a_node_on_the_left_side) { - BTree *tree = btree_init(10); + BTree *tree = btree_insert(NULL, 10); btree_insert(tree, -5); assert_that(tree->left, is_not_equal_to(NULL)); @@ -26,7 +26,7 @@ Ensure( Ensure( BinaryTree, when_inserting_an_item_greater_than_the_root_in_a_tree_it_creates_a_node_on_the_right_side) { - BTree *tree = btree_init(10); + BTree *tree = btree_insert(NULL, 10); btree_insert(tree, 16); @@ -37,7 +37,7 @@ Ensure( Ensure( BinaryTree, when_inserting_an_item_equal_to_the_root_in_a_tree_it_creates_a_node_on_the_left_side) { - BTree *tree = btree_init(10); + BTree *tree = btree_insert(NULL, 10); btree_insert(tree, 10); @@ -78,6 +78,26 @@ Ensure( assert_that(tree->left->right->left->data, is_equal_to(6)); } +Ensure(BinaryTree, when_rebalancing_a_tree) { + BTree *tree = btree_insert(NULL, 1); + tree->right = btree_initialize(tree, 5); + tree->right->left = btree_initialize(tree, 2); + tree->right->left->right = btree_initialize(tree, 4); + tree->right->left->right = btree_initialize(tree, 4); + + tree = btree_insert(tree, 2); + tree = btree_insert(tree, 4); + tree = btree_insert(tree, 3); + + tree = btree_rebalance(tree); + + assert_that(tree, is_not_equal_to(NULL)); + + /*printf("%d\n", tree->parent->data);*/ + assert_that(tree->right->parent, is_not_equal_to(NULL)); + +} + Ensure( BinaryTree, when_inserting_items_described_in_the_assignment_it_inserts_in_the_expected_position_in_the_tree) { @@ -117,24 +137,25 @@ Ensure(BinaryTree, when_calculating_the_size_of_the_tree) TestSuite *binary_search_tree_tests() { TestSuite *suite = create_test_suite(); - add_test_with_context(suite, BinaryTree, when_the_tree_is_NULL); - add_test_with_context( - suite, BinaryTree, - when_inserting_an_item_less_than_the_root_in_a_tree_it_creates_a_node_on_the_left_side); - add_test_with_context( - suite, BinaryTree, - when_inserting_an_item_greater_than_the_root_in_a_tree_it_creates_a_node_on_the_right_side); - add_test_with_context( - suite, BinaryTree, - when_inserting_an_item_equal_to_the_root_in_a_tree_it_creates_a_node_on_the_left_side); - add_test_with_context( - suite, BinaryTree, - when_inserting_multiple_items_into_a_tree_it_inserts_in_the_correct_position); + /*add_test_with_context(suite, BinaryTree, when_the_tree_is_NULL);*/ + /*add_test_with_context(*/ + /*suite, BinaryTree,*/ + /*when_inserting_an_item_less_than_the_root_in_a_tree_it_creates_a_node_on_the_left_side);*/ + /*add_test_with_context(*/ + /*suite, BinaryTree,*/ + /*when_inserting_an_item_greater_than_the_root_in_a_tree_it_creates_a_node_on_the_right_side);*/ + /*add_test_with_context(*/ + /*suite, BinaryTree,*/ + /*when_inserting_an_item_equal_to_the_root_in_a_tree_it_creates_a_node_on_the_left_side);*/ + /*add_test_with_context(*/ + /*suite, BinaryTree,*/ + /*when_inserting_multiple_items_into_a_tree_it_inserts_in_the_correct_position);*/ + add_test_with_context(suite, BinaryTree, when_rebalancing_a_tree); /*add_test_with_context(*/ /*suite, BinaryTree,*/ /*when_inserting_items_described_in_the_assignment_it_inserts_in_the_expected_position_in_the_tree);*/ - add_test_with_context(suite, BinaryTree, when_calculating_the_size_of_the_tree); + /*add_test_with_context(suite, BinaryTree, when_calculating_the_size_of_the_tree);*/ return suite; } |
