]> git.lizzy.rs Git - dragonstd.git/blob - test/test_list.c
Add transformer to del
[dragonstd.git] / test / test_list.c
1 #include <assert.h>
2 #include <stdio.h>
3 #include "../list.h"
4
5 int cmp_int(const void *ia, const void *ib)
6 {
7         return *(const int *) ia - *(const int *) ib;
8 }
9
10 int main()
11 {
12         printf("------------\n");
13         printf("Testing List\n");
14         printf("------------\n");
15
16         List list;
17
18         printf("testing ini\n");
19         list_ini(&list);
20
21         int a = 0;
22         int b = 1;
23         int c = 2;
24         int d = 2;
25         int e = 3;
26
27         printf("testing add\n");
28         assert(list_add(&list, &a, &cmp_int, NULL));
29         assert(list_add(&list, &b, &cmp_int, NULL));
30         assert(list_add(&list, &c, &cmp_int, NULL));
31         assert(!list_add(&list, &d, &cmp_int, NULL));
32
33         printf("testing get\n");
34         assert(list_get(&list, &a, &cmp_int, NULL) == &a);
35         assert(list_get(&list, &b, &cmp_int, NULL) == &b);
36         assert(list_get(&list, &c, &cmp_int, NULL) == &c);
37         assert(list_get(&list, &d, &cmp_int, NULL) == &c);
38         assert(list_get(&list, &e, &cmp_int, NULL) == NULL);
39
40         printf("testing del\n");
41         assert(list_del(&list, &a, &cmp_int, NULL, NULL, NULL));
42         assert(list_get(&list, &a, &cmp_int, NULL) == NULL);
43
44         printf("testing clr\n");
45         list_clr(&list, NULL, NULL, NULL);
46         assert(list_get(&list, &b, &cmp_int, NULL) == NULL);
47 }