From 6a32a1543dee160aa9abcffb2dc1f74ab4c11686 Mon Sep 17 00:00:00 2001 From: mo khan Date: Mon, 31 Aug 2020 13:15:21 -0600 Subject: test: add a counter example to break algorithm --- src/03/avl_tree_test.c | 19 +++++++++++++++++++ src/03/rb_tree_test.c | 1 - 2 files changed, 19 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/03/avl_tree_test.c b/src/03/avl_tree_test.c index 3b2e4c3..dd60c05 100644 --- a/src/03/avl_tree_test.c +++ b/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; } diff --git a/src/03/rb_tree_test.c b/src/03/rb_tree_test.c index 0193250..9b78dc0 100644 --- a/src/03/rb_tree_test.c +++ b/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)); -- cgit v1.2.3