Blob


1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4 #include <arraylist.h>
6 void test_basic(void)
7 {
8 int *p;
9 ARRAYLIST(int) list;
10 ARRAYLIST_INIT(list, 2);
12 #define dump() do {\
13 printf("(%d items)\n", list.len); \
14 ARRAYLIST_FOREACH(p, list) \
15 printf("[%lu] %d\n", \
16 (unsigned long)ARRAYLIST_IDX(p, list), *p); \
17 printf("\n"); \
18 } while(0)
20 dump();
22 ARRAYLIST_ADD(p, list);
23 *p = 100;
24 dump();
26 ARRAYLIST_ADD(p, list);
27 *p = 101;
28 dump();
30 ARRAYLIST_ADD(p, list);
31 *p = 102;
32 dump();
34 #define insert_test(AT) do {\
35 printf("insert at [" #AT "]:\n"); \
36 ARRAYLIST_INSERT(p, list, AT); \
37 *p = AT; \
38 dump(); \
39 } while(0)
41 insert_test(list.len - 1);
42 insert_test(1);
43 insert_test(0);
44 insert_test(6);
45 insert_test(123);
46 insert_test(-42);
48 printf("clear:\n");
49 ARRAYLIST_CLEAR(list);
50 dump();
52 ARRAYLIST_FREE(list);
53 }
55 int main(void)
56 {
57 test_basic();
58 }