forked from vieter-v/libvieter
33 lines
778 B
C
33 lines
778 B
C
|
#include "acutest.h"
|
||
|
#include "vieter_tree.h"
|
||
|
|
||
|
#define TEST_SIZE(tree, size) \
|
||
|
TEST_CHECK(vieter_tree_size(tree) == size); \
|
||
|
TEST_MSG("Size: %zu", vieter_tree_size(tree))
|
||
|
|
||
|
void test_init() {
|
||
|
vieter_tree *tree = vieter_tree_init();
|
||
|
TEST_CHECK(tree != NULL);
|
||
|
TEST_SIZE(tree, 0);
|
||
|
/* vieter_tree_free(tree); */
|
||
|
}
|
||
|
|
||
|
void test_insert() {
|
||
|
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_insert(tree, i, NULL) == vieter_tree_already_present);
|
||
|
TEST_CHECK(vieter_tree_search(&out, tree, i) == vieter_tree_ok);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
TEST_LIST = {
|
||
|
{NULL, NULL}
|
||
|
};
|