1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#include <hashtbl.h>
void test_hashtbl_1() {
BEGIN_TEST("test-hashtbl-1");
// hashtable test
hashtbl_t *ht = create_hashtbl(str_key_eq_fun, str_hash_fun, 0);
ASSERT(ht != 0);
ASSERT(hashtbl_add(ht, "test1", "STRTEST1"));
ASSERT(hashtbl_add(ht, "test2", "STRTEST2"));
ASSERT(hashtbl_find(ht, "test1") != 0 &&
strcmp(hashtbl_find(ht, "test1"), "STRTEST1") == 0);
ASSERT(hashtbl_find(ht, "test2") != 0 &&
strcmp(hashtbl_find(ht, "test2"), "STRTEST2") == 0);
ASSERT(hashtbl_find(ht, "test") == 0);
ASSERT(hashtbl_add(ht, "test", "Forever alone"));
ASSERT(hashtbl_find(ht, "test1") != 0 &&
strcmp(hashtbl_find(ht, "test1"), "STRTEST1") == 0);
ASSERT(hashtbl_find(ht, "test2") != 0 &&
strcmp(hashtbl_find(ht, "test2"), "STRTEST2") == 0);
ASSERT(hashtbl_find(ht, "test") != 0 &&
strcmp(hashtbl_find(ht, "test"), "Forever alone") == 0);
hashtbl_remove(ht, "test1");
ASSERT(hashtbl_find(ht, "test1") == 0);
ASSERT(hashtbl_find(ht, "test2") != 0 &&
strcmp(hashtbl_find(ht, "test2"), "STRTEST2") == 0);
ASSERT(hashtbl_find(ht, "test") != 0 &&
strcmp(hashtbl_find(ht, "test"), "Forever alone") == 0);
delete_hashtbl(ht);
TEST_OK;
}
#undef TEST_PLACEHOLDER_AFTER_TASKING
#define TEST_PLACEHOLDER_AFTER_TASKING { test_hashtbl_1(); }
/* vim: set ts=4 sw=4 tw=0 noet :*/
|