test(tree): validation function to use in testing
Some checks failed
ci/woodpecker/pr/lint Pipeline was successful
ci/woodpecker/pr/test Pipeline failed
ci/woodpecker/pr/test-mem unknown status

This commit is contained in:
Jef Roosens 2023-01-28 19:27:40 +01:00
parent 89d1c9cdca
commit 3fb027715c
Signed by: Jef Roosens
GPG key ID: B75D4F293C7052DB
5 changed files with 74 additions and 3 deletions

View file

@ -1,5 +1,5 @@
#include "acutest.h"
#include "vieter_tree.h"
#include "vieter_tree_internal.h"
#define TEST_SIZE(tree, size) \
TEST_CHECK(vieter_tree_size(tree) == size); \
@ -18,6 +18,7 @@ void test_insert() {
for (uint64_t i = 0; i < 250; i++) {
TEST_CHECK(vieter_tree_insert(tree, i, NULL) == vieter_tree_ok);
TEST_SIZE(tree, i + 1);
TEST_CHECK(vieter_tree_validate(tree) == 0);
}
void *out;
@ -36,13 +37,15 @@ void test_remove() {
for (uint64_t i = 0; i < 250; i++) {
TEST_CHECK(vieter_tree_insert(tree, i, NULL) == vieter_tree_ok);
TEST_CHECK(vieter_tree_validate(tree) == 0);
}
void *out;
for (uint64_t i = 0; i < 250; i++) {
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_validate(tree) == 0);
TEST_CHECK(vieter_tree_search(&out, tree, i) == vieter_tree_not_present);
TEST_SIZE(tree, 250 - i - 1);
}