summaryrefslogtreecommitdiff
path: root/src/02/05/btree_test.c
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-08-09 16:53:41 -0600
committermo khan <mo.khan@gmail.com>2020-08-09 16:53:41 -0600
commitb15ec4d46955da99027d666ceabc07db7533aeff (patch)
tree25814c1c7332c473703573ddec436fd5b91c3742 /src/02/05/btree_test.c
parent86c77056eba2e7f36a969fe3d0550a6704ea6790 (diff)
Use Stack to do in order traversal
Diffstat (limited to 'src/02/05/btree_test.c')
-rw-r--r--src/02/05/btree_test.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/02/05/btree_test.c b/src/02/05/btree_test.c
index 794e09b..7c605c2 100644
--- a/src/02/05/btree_test.c
+++ b/src/02/05/btree_test.c
@@ -21,6 +21,27 @@ Ensure(BinaryTree, when_the_tree_has_a_single_node_it_returns_the_items_in_order
assert_that(tree->in_order[0], is_equal_to(10));
}
+Ensure(BinaryTree, when_the_tree_has_multiple_levels_it_returns_the_items_in_order) {
+ BTree *tree = btree_insert(NULL, 10);
+
+ btree_insert(tree, 5);
+ btree_insert(tree, 15);
+ btree_insert(tree, 7);
+ btree_insert(tree, 12);
+ btree_insert(tree, 18);
+ btree_insert(tree, 3);
+
+ btree_in_order_number(tree);
+
+ assert_that(tree->in_order[0], is_equal_to(3));
+ assert_that(tree->in_order[1], is_equal_to(5));
+ assert_that(tree->in_order[2], is_equal_to(7));
+ assert_that(tree->in_order[3], is_equal_to(10));
+ assert_that(tree->in_order[4], is_equal_to(12));
+ assert_that(tree->in_order[5], is_equal_to(15));
+ assert_that(tree->in_order[6], is_equal_to(18));
+}
+
Ensure(
BinaryTree,
when_inserting_an_item_less_than_the_root_in_a_tree_it_creates_a_node_on_the_left_side) {
@@ -102,6 +123,7 @@ TestSuite *btree_tests() {
TestSuite *suite = create_test_suite();
add_test_with_context(suite, BinaryTree, when_the_tree_is_NULL);
add_test_with_context(suite, BinaryTree, when_the_tree_has_a_single_node_it_returns_the_items_in_order);
+ add_test_with_context(suite, BinaryTree, when_the_tree_has_multiple_levels_it_returns_the_items_in_order);
add_test_with_context(
suite, BinaryTree,