master
1#include "btree.h"
2#include "rb_tree.h"
3#include <cgreen/cgreen.h>
4#include <math.h>
5#include <string.h>
6
7Ensure(initialize_returns_new_btree) {
8 BTree *tree = btree_initialize(10);
9
10 assert_that(tree, is_not_equal_to(NULL));
11 assert_that(tree->data, is_equal_to(10));
12}
13
14Ensure(height_returns_height_of_tree) {
15 BTree *tree = NULL;
16
17 int n = 10;
18 for (int i = 0; i < n; ++i)
19 tree = btree_insert(tree, i);
20
21 assert_that(btree_height(tree), is_equal_to(n));
22}
23
24Ensure(tree_with_k_leaves_has_height_of_log_k) {
25 for (int k = 0; k < 500; ++k)
26 assert_that(btree_height(btree_generate(k)) >= log2(k), is_equal_to(true));
27}
28
29TestSuite *btree_tests() {
30 TestSuite *x = create_test_suite();
31
32 add_test(x, initialize_returns_new_btree);
33 add_test(x, height_returns_height_of_tree);
34 add_test(x, tree_with_k_leaves_has_height_of_log_k);
35
36 return x;
37}