1 3e66d05b 2020-10-11 neels #include <stdio.h>
2 3e66d05b 2020-10-11 neels #include <stdlib.h>
3 3e66d05b 2020-10-11 neels #include <string.h>
4 3e66d05b 2020-10-11 neels #include <arraylist.h>
6 3e66d05b 2020-10-11 neels void test_basic(void)
9 3e66d05b 2020-10-11 neels ARRAYLIST(int) list;
10 3e66d05b 2020-10-11 neels ARRAYLIST_INIT(list, 2);
12 3e66d05b 2020-10-11 neels #define dump() do {\
13 3e66d05b 2020-10-11 neels printf("(%d items)\n", list.len); \
14 3e66d05b 2020-10-11 neels ARRAYLIST_FOREACH(p, list) \
15 cdaa991d 2020-10-16 stsp printf("[%lu] %d\n", \
16 cdaa991d 2020-10-16 stsp (unsigned long)ARRAYLIST_IDX(p, list), *p); \
17 3e66d05b 2020-10-11 neels printf("\n"); \
22 3e66d05b 2020-10-11 neels ARRAYLIST_ADD(p, list);
26 3e66d05b 2020-10-11 neels ARRAYLIST_ADD(p, list);
30 3e66d05b 2020-10-11 neels ARRAYLIST_ADD(p, list);
34 3e66d05b 2020-10-11 neels #define insert_test(AT) do {\
35 3e66d05b 2020-10-11 neels printf("insert at [" #AT "]:\n"); \
36 3e66d05b 2020-10-11 neels ARRAYLIST_INSERT(p, list, AT); \
41 3e66d05b 2020-10-11 neels insert_test(list.len - 1);
42 3e66d05b 2020-10-11 neels insert_test(1);
43 3e66d05b 2020-10-11 neels insert_test(0);
44 3e66d05b 2020-10-11 neels insert_test(6);
45 3e66d05b 2020-10-11 neels insert_test(123);
46 3e66d05b 2020-10-11 neels insert_test(-42);
48 3e66d05b 2020-10-11 neels printf("clear:\n");
49 3e66d05b 2020-10-11 neels ARRAYLIST_CLEAR(list);
52 3e66d05b 2020-10-11 neels ARRAYLIST_FREE(list);
55 3e66d05b 2020-10-11 neels int main(void)
57 3e66d05b 2020-10-11 neels test_basic();