summaryrefslogtreecommitdiff
path: root/src/02/03/btree_test.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/02/03/btree_test.c')
-rw-r--r--src/02/03/btree_test.c55
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;
}