X-Git-Url: https://git.tokkee.org/?p=sysdb.git;a=blobdiff_plain;f=t%2Funit%2Futils%2Favltree_test.c;h=9be5e0960821626be4e842350da7314723306015;hp=0488693d112d139afb935b333ab79941318cb739;hb=967d9181f6329ca00b910c0c458b1c6b60f2a0d6;hpb=246943645fbba04c41221e485cb80be5a74ed0a3 diff --git a/t/unit/utils/avltree_test.c b/t/unit/utils/avltree_test.c index 0488693..9be5e09 100644 --- a/t/unit/utils/avltree_test.c +++ b/t/unit/utils/avltree_test.c @@ -25,8 +25,12 @@ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#if HAVE_CONFIG_H +# include "config.h" +#endif + #include "utils/avltree.h" -#include "libsysdb_test.h" +#include "testutils.h" #include @@ -35,7 +39,7 @@ static sdb_avltree_t *tree; static void setup(void) { - tree = sdb_avltree_create(NULL); + tree = sdb_avltree_create(); fail_unless(tree != NULL, "sdb_avltree_create() = NULL; expected AVL-tree object"); } /* setup */ @@ -66,6 +70,8 @@ static sdb_object_t test_data[] = { SDB_OBJECT_STATIC("a"), }; +static char *unused_names[] = { "x", "y", "z" }; + static void populate(void) { @@ -153,6 +159,37 @@ START_TEST(test_insert) } END_TEST +START_TEST(test_lookup) +{ + size_t i; + + populate(); + + for (i = 0; i < SDB_STATIC_ARRAY_LEN(test_data); ++i) { + sdb_object_t *obj; + + obj = sdb_avltree_lookup(tree, test_data[i].name); + fail_unless(obj != NULL, + "sdb_avltree_lookup(, %s) = NULL; " + "expected: ", test_data[i].name); + fail_unless(obj == &test_data[i], + "sdb_avltree_lookup(, %s) = %p (%s); " + "expected: %p, (%s)", test_data[i].name, obj, obj->name, + &test_data[i], test_data[i].name); + } + + for (i = 0; i < SDB_STATIC_ARRAY_LEN(unused_names); ++i) { + sdb_object_t *obj; + + obj = sdb_avltree_lookup(tree, unused_names[i]); + fail_unless(obj == NULL, + "sdb_avltree_lookup(, %s) = %p (%s); " + "expected: NULL", unused_names[i], + obj, obj ? obj->name : ""); + } +} +END_TEST + START_TEST(test_iter) { sdb_avltree_iter_t *iter; @@ -203,21 +240,17 @@ START_TEST(test_iter) } END_TEST -Suite * -util_avltree_suite(void) +TEST_MAIN("utils::avltree") { - Suite *s = suite_create("utils::avltree"); - TCase *tc; - - tc = tcase_create("core"); + TCase *tc = tcase_create("core"); tcase_add_checked_fixture(tc, setup, teardown); tcase_add_test(tc, test_null); tcase_add_test(tc, test_insert); + tcase_add_test(tc, test_lookup); tcase_add_test(tc, test_iter); - suite_add_tcase(s, tc); - - return s; -} /* util_avltree_suite */ + ADD_TCASE(tc); +} +TEST_MAIN_END /* vim: set tw=78 sw=4 ts=4 noexpandtab : */