2
* unit tests for the geis filter module
6
#include "geis_filter.h"
7
#include "geis_test_api.h"
13
static GeisFilterBag g_filter_bag;
14
static GeisString g_filter_name = "filter";
20
g_geis = geis_new(GEIS_INIT_MOCK_BACKEND, NULL);
21
g_filter_bag = geis_filter_bag_new();
24
/* fixture teardown */
28
geis_filter_bag_delete(g_filter_bag);
32
/* verify bag construction/destruction */
35
GeisFilterBag bag = geis_filter_bag_new();
36
fail_unless(bag != NULL, "failed to create filter bag");
37
geis_filter_bag_delete(bag);
41
/* verify bag insertion */
42
START_TEST(insert_filter)
44
GeisFilter filter = geis_filter_new(g_geis, g_filter_name);
45
geis_filter_bag_insert(g_filter_bag, filter);
46
fail_unless(geis_filter_bag_count(g_filter_bag) == 1,
47
"unexpected bag size after insertion");
51
/* verify bag removal */
52
START_TEST(remove_filter)
54
GeisFilter filter = geis_filter_new(g_geis, g_filter_name);
55
geis_filter_bag_insert(g_filter_bag, filter);
56
fail_unless(geis_filter_bag_count(g_filter_bag) == 1,
57
"unexpected bag size after insertion");
58
geis_filter_bag_remove(g_filter_bag, filter);
59
fail_unless(geis_filter_bag_count(g_filter_bag) == 0,
60
"unexpected bag size after removal");
67
for (i = 0; i < 24; ++i)
71
sprintf(name, "%04zu", i);
72
GeisFilter filter = geis_filter_new(g_geis, name);
73
geis_filter_bag_insert(g_filter_bag, filter);
74
count = geis_filter_bag_count(g_filter_bag);
75
fail_unless(count == (i+1),
76
"unexpected bag size %ld after insertion, expected %d",
88
Suite *s = suite_create("geis2-filter");
90
TCase *create = tcase_create("filter-bag-creation");
91
tcase_add_test(create, construct);
92
suite_add_tcase(s, create);
94
TCase *usage = tcase_create("filter-bag-usage");
95
tcase_add_checked_fixture(usage, construct_bag, destroy_bag);
96
tcase_add_test(usage, insert_filter);
97
tcase_add_test(usage, remove_filter);
98
tcase_add_test(usage, expand);
99
suite_add_tcase(s, usage);