source: tests/check_set.c @ 3038e47

Last change on this file since 3038e47 was 7738014, checked in by Jelmer Vernooij <jelmer@…>, at 2007-01-21T22:08:56Z

Add tests for set

  • Property mode set to 100644
File size: 3.4 KB
Line 
1#include <stdlib.h>
2#include <glib.h>
3#include <gmodule.h>
4#include <check.h>
5#include <string.h>
6#include "set.h"
7#include "testsuite.h"
8
9START_TEST(test_set_add)
10        void *data = "data";
11        set_t *s = NULL, *t;
12        t = set_add(&s, "name", "default", NULL, data);
13        fail_unless(s == t);
14        fail_unless(t->data == data);
15        fail_unless(strcmp(t->def, "default") == 0);
16END_TEST
17
18START_TEST(test_set_add_existing)
19        void *data = "data";
20        set_t *s = NULL, *t;
21        t = set_add(&s, "name", "default", NULL, data);
22        t = set_add(&s, "name", "newdefault", NULL, data);
23        fail_unless(s == t);
24        fail_unless(strcmp(t->def, "newdefault") == 0);
25END_TEST
26
27START_TEST(test_set_find_unknown)
28        set_t *s = NULL, *t;
29        fail_unless (set_find(&s, "foo") == NULL);
30END_TEST
31
32START_TEST(test_set_find)
33        void *data = "data";
34        set_t *s = NULL, *t;
35        t = set_add(&s, "name", "default", NULL, data);
36        fail_unless(s == t);
37        fail_unless(set_find(&s, "name") == t);
38END_TEST
39
40START_TEST(test_set_get_str_default)
41        void *data = "data";
42        set_t *s = NULL, *t;
43        t = set_add(&s, "name", "default", NULL, data);
44        fail_unless(s == t);
45        fail_unless(strcmp(set_getstr(&s, "name"), "default") == 0);
46END_TEST
47
48START_TEST(test_set_get_bool_default)
49        void *data = "data";
50        set_t *s = NULL, *t;
51        t = set_add(&s, "name", "true", NULL, data);
52        fail_unless(s == t);
53        fail_unless(set_getbool(&s, "name"));
54END_TEST
55
56START_TEST(test_set_get_bool_integer)
57        void *data = "data";
58        set_t *s = NULL, *t;
59        t = set_add(&s, "name", "3", NULL, data);
60        fail_unless(s == t);
61        fail_unless(set_getbool(&s, "name") == 3);
62END_TEST
63
64START_TEST(test_set_get_bool_unknown)
65        set_t *s = NULL;
66        fail_unless(set_getbool(&s, "name") == 0);
67END_TEST
68
69START_TEST(test_set_get_str_value)
70        void *data = "data";
71        set_t *s = NULL, *t;
72        t = set_add(&s, "name", "default", NULL, data);
73        set_setstr(&s, "name", "foo");
74        fail_unless(strcmp(set_getstr(&s, "name"), "foo") == 0);
75END_TEST
76
77START_TEST(test_set_get_str_unknown)
78        set_t *s = NULL;
79        fail_unless(set_getstr(&s, "name") == NULL);
80END_TEST
81
82START_TEST(test_setint)
83        void *data = "data";
84        set_t *s = NULL, *t;
85        t = set_add(&s, "name", "10", NULL, data);
86        set_setint(&s, "name", 3);
87        fail_unless(set_getint(&s, "name") == 3);
88END_TEST
89
90START_TEST(test_setstr)
91        void *data = "data";
92        set_t *s = NULL, *t;
93        t = set_add(&s, "name", "foo", NULL, data);
94        set_setstr(&s, "name", "bloe");
95        fail_unless(strcmp(set_getstr(&s, "name"), "bloe") == 0);
96END_TEST
97
98START_TEST(test_setstr_implicit)
99        void *data = "data";
100        set_t *s = NULL, *t;
101        set_setstr(&s, "name", "bloe");
102        fail_unless(set_find(&s, "name") != NULL);
103END_TEST
104
105START_TEST(test_set_get_int_unknown)
106        set_t *s = NULL;
107        fail_unless(set_getint(&s, "foo") == 0);
108END_TEST
109
110Suite *set_suite (void)
111{
112        Suite *s = suite_create("Set");
113        TCase *tc_core = tcase_create("Core");
114        suite_add_tcase (s, tc_core);
115        tcase_add_test (tc_core, test_set_add);
116        tcase_add_test (tc_core, test_set_add_existing);
117        tcase_add_test (tc_core, test_set_find_unknown);
118        tcase_add_test (tc_core, test_set_find);
119        tcase_add_test (tc_core, test_set_get_str_default);
120        tcase_add_test (tc_core, test_set_get_str_value);
121        tcase_add_test (tc_core, test_set_get_str_unknown);
122        tcase_add_test (tc_core, test_set_get_bool_default);
123        tcase_add_test (tc_core, test_set_get_bool_integer);
124        tcase_add_test (tc_core, test_set_get_bool_unknown);
125        tcase_add_test (tc_core, test_set_get_int_unknown);
126        tcase_add_test (tc_core, test_setint);
127        tcase_add_test (tc_core, test_setstr);
128        tcase_add_test (tc_core, test_setstr_implicit);
129        return s;
130}
Note: See TracBrowser for help on using the repository browser.