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 3e66d05b 2020-10-11 neels printf("[%d] %d\n", ARRAYLIST_IDX(p, list), *p); \
16 3e66d05b 2020-10-11 neels printf("\n"); \
21 3e66d05b 2020-10-11 neels ARRAYLIST_ADD(p, list);
25 3e66d05b 2020-10-11 neels ARRAYLIST_ADD(p, list);
29 3e66d05b 2020-10-11 neels ARRAYLIST_ADD(p, list);
33 3e66d05b 2020-10-11 neels #define insert_test(AT) do {\
34 3e66d05b 2020-10-11 neels printf("insert at [" #AT "]:\n"); \
35 3e66d05b 2020-10-11 neels ARRAYLIST_INSERT(p, list, AT); \
40 3e66d05b 2020-10-11 neels insert_test(list.len - 1);
41 3e66d05b 2020-10-11 neels insert_test(1);
42 3e66d05b 2020-10-11 neels insert_test(0);
43 3e66d05b 2020-10-11 neels insert_test(6);
44 3e66d05b 2020-10-11 neels insert_test(123);
45 3e66d05b 2020-10-11 neels insert_test(-42);
47 3e66d05b 2020-10-11 neels printf("clear:\n");
48 3e66d05b 2020-10-11 neels ARRAYLIST_CLEAR(list);
51 3e66d05b 2020-10-11 neels ARRAYLIST_FREE(list);
54 3e66d05b 2020-10-11 neels int main(void)
56 3e66d05b 2020-10-11 neels test_basic();