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