Commit 6a32a15

mo khan <mo.khan@gmail.com>
2020-08-31 19:15:21
test: add a counter example to break algorithm
1 parent 51e59d8
Changed files (2)
src/03/avl_tree_test.c
@@ -330,6 +330,24 @@ Ensure(to_rb_tree_returns_a_new_red_black_tree) {
   assert_that(rb_equals(expected, rb_tree), is_equal_to(true));
 }
 
+Ensure(to_rb_tree_handles_trees_with_a_large_depth) {
+  AVLTree *subject = NULL;
+  RBTree *expected = NULL;
+
+  for (int i = 0; i < 5; i++) {
+    subject = avl_tree_insert(subject, i);
+    expected = rb_tree_insert(expected, i);
+  }
+
+  RBTree *actual = avl_tree_to_rb_tree(subject);
+
+  avl_tree_inspect(subject);
+  rb_tree_inspect(expected);
+  rb_tree_inspect(actual);
+
+  assert_that(rb_equals(expected, actual), is_equal_to(true));
+}
+
 TestSuite *avl_tree_tests() {
   TestSuite *x = create_test_suite();
   add_test(x, initialize_returns_new_tree);
@@ -353,6 +371,7 @@ TestSuite *avl_tree_tests() {
   add_test(x, delete_returns_a_null_root);
 
   add_test(x, to_rb_tree_returns_a_new_red_black_tree);
+  add_test(x, to_rb_tree_handles_trees_with_a_large_depth);
   return x;
 }
 
src/03/rb_tree_test.c
@@ -145,7 +145,6 @@ Ensure(rb_tree_insert_handles_large_trees) {
 
   for (int i = n; i > 0; i--)
     tree = rb_tree_insert(tree, i);
-  rb_tree_inspect(tree);
 
   assert_that(tree, is_not_equal_to(NULL));
   assert_that(tree->value, is_equal_to(69));