feat(tree): initially working binary tree

This commit is contained in:
Jef Roosens 2023-01-19 22:45:22 +01:00
parent 98f158e1f5
commit 935a610b7e
Signed by: Jef Roosens
GPG key ID: B75D4F293C7052DB
4 changed files with 141 additions and 18 deletions

View file

@ -17,16 +17,37 @@ void test_insert() {
for (uint64_t i = 0; i < 25; i++) {
TEST_CHECK(vieter_tree_insert(tree, i, NULL) == vieter_tree_ok);
TEST_SIZE(tree, i + 1);
}
void *out;
for (uint64_t i = 0; i < 25; i++) {
TEST_CHECK(vieter_tree_search(&out, tree, i) == vieter_tree_ok);
TEST_CHECK(vieter_tree_insert(tree, i, NULL) == vieter_tree_already_present);
TEST_CHECK(vieter_tree_search(&out, tree, i) == vieter_tree_ok);
}
}
void test_remove() {
vieter_tree *tree = vieter_tree_init();
for (uint64_t i = 0; i < 25; i++) {
TEST_CHECK(vieter_tree_insert(tree, i, NULL) == vieter_tree_ok);
}
void *out;
for (uint64_t i = 0; i < 25; i++) {
TEST_CHECK(vieter_tree_search(&out, tree, i) == vieter_tree_ok);
TEST_CHECK(vieter_tree_remove(&out, tree, i) == vieter_tree_ok);
TEST_CHECK(vieter_tree_search(&out, tree, i) == vieter_tree_not_present);
}
}
TEST_LIST = {
{"test_init", test_init},
{"test_insert", test_insert},
{"test_remove", test_remove},
{NULL, NULL}
};