#include int main(void) { u64 i, v, times, size; List list; Allocator alloc; size = 16; times = 4; { alloc = un_allocator_get_standard(); list = un_list_create(size, sizeof(u64), alloc); assert(un_list_get(&list, 0) == NULL); for (i = 0; i < size; i++) { v = i * times; un_list_append(&list, (void *)(&v)); } assert(*(u64*)un_list_get(&list, size - 1) == ((size - 1) * times)); for (i = 0; i < size; i++) { v = *(u64*)un_list_get(&list, i); assert(v == i * times); } un_list_remove(&list, 0); assert(*(u64*)un_list_get(&list, 0) == times); un_list_remove(&list, list.count); // will be ignored un_list_remove(&list, list.count - 1); assert(list.count == (size - 2)); for (i = 0; i < size; i++) { v = i * times; un_list_append(&list, (void *)(&v)); } assert(list.capacity == (size * 2)); un_list_destroy(&list); assert(list.data == NULL); } }