source: tests/check_set.c @ b006464

Last change on this file since b006464 was de49316, checked in by Wilmer van der Gaast <wilmer@…>, at 2008-12-13T12:08:05Z

Killed the test for setting non-existing variables since I killed support
for them as well. Thanks to cedk@… for noticing (Bug #448).

Also including chat.o when building the tests to fix linking issues.

  • Property mode set to 100644
File size: 3.2 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_set_get_int_unknown)
99        set_t *s = NULL;
100        fail_unless(set_getint(&s, "foo") == 0);
101END_TEST
102
103Suite *set_suite (void)
104{
105        Suite *s = suite_create("Set");
106        TCase *tc_core = tcase_create("Core");
107        suite_add_tcase (s, tc_core);
108        tcase_add_test (tc_core, test_set_add);
109        tcase_add_test (tc_core, test_set_add_existing);
110        tcase_add_test (tc_core, test_set_find_unknown);
111        tcase_add_test (tc_core, test_set_find);
112        tcase_add_test (tc_core, test_set_get_str_default);
113        tcase_add_test (tc_core, test_set_get_str_value);
114        tcase_add_test (tc_core, test_set_get_str_unknown);
115        tcase_add_test (tc_core, test_set_get_bool_default);
116        tcase_add_test (tc_core, test_set_get_bool_integer);
117        tcase_add_test (tc_core, test_set_get_bool_unknown);
118        tcase_add_test (tc_core, test_set_get_int_unknown);
119        tcase_add_test (tc_core, test_setint);
120        tcase_add_test (tc_core, test_setstr);
121        return s;
122}
Note: See TracBrowser for help on using the repository browser.