Code

t/unit/: Create one test binary for each *_test.c file.
[sysdb.git] / t / unit / utils / avltree_test.c
index f1ea1fc09fd27baa7aac336cd3b3ba5047b43bbb..9be5e0960821626be4e842350da7314723306015 100644 (file)
  * 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 <check.h>
 
@@ -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 */
@@ -49,23 +53,25 @@ teardown(void)
 
 /* 'a' thru 'o' */
 static sdb_object_t test_data[] = {
-       SSTRING_OBJ("h"),
-       SSTRING_OBJ("j"),
-       SSTRING_OBJ("i"),
-       SSTRING_OBJ("f"),
-       SSTRING_OBJ("e"),
-       SSTRING_OBJ("g"),
-       SSTRING_OBJ("k"),
-       SSTRING_OBJ("l"),
-       SSTRING_OBJ("m"),
-       SSTRING_OBJ("n"),
-       SSTRING_OBJ("o"),
-       SSTRING_OBJ("d"),
-       SSTRING_OBJ("c"),
-       SSTRING_OBJ("b"),
-       SSTRING_OBJ("a"),
+       SDB_OBJECT_STATIC("h"),
+       SDB_OBJECT_STATIC("j"),
+       SDB_OBJECT_STATIC("i"),
+       SDB_OBJECT_STATIC("f"),
+       SDB_OBJECT_STATIC("e"),
+       SDB_OBJECT_STATIC("g"),
+       SDB_OBJECT_STATIC("k"),
+       SDB_OBJECT_STATIC("l"),
+       SDB_OBJECT_STATIC("m"),
+       SDB_OBJECT_STATIC("n"),
+       SDB_OBJECT_STATIC("o"),
+       SDB_OBJECT_STATIC("d"),
+       SDB_OBJECT_STATIC("c"),
+       SDB_OBJECT_STATIC("b"),
+       SDB_OBJECT_STATIC("a"),
 };
 
+static char *unused_names[] = { "x", "y", "z" };
+
 static void
 populate(void)
 {
@@ -76,7 +82,7 @@ populate(void)
 
 START_TEST(test_null)
 {
-       sdb_object_t o1 = SSTRING_OBJ("obj");
+       sdb_object_t o1 = SDB_OBJECT_STATIC("obj");
        sdb_object_t *o2;
        sdb_avltree_iter_t *iter;
        int check;
@@ -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(<tree>, %s) = NULL; "
+                               "expected: <obj>", test_data[i].name);
+               fail_unless(obj == &test_data[i],
+                               "sdb_avltree_lookup(<tree>, %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(<tree>, %s) = %p (%s); "
+                               "expected: NULL", unused_names[i],
+                               obj, obj ? obj->name : "<nil>");
+       }
+}
+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 : */