tests/test_list.c

changeset 854
fe0d69d72bcd
parent 853
d4baf4dd55c3
child 855
35bcb3216c0d
--- a/tests/test_list.c	Thu May 23 19:29:14 2024 +0200
+++ b/tests/test_list.c	Thu May 23 20:29:28 2024 +0200
@@ -622,7 +622,7 @@
 
 CX_TEST(test_empty_list_size) {
     CX_TEST_DO {
-        CX_TEST_ASSERT(cxEmptyList->size == 0);
+        CX_TEST_ASSERT(cxEmptyList->base.size == 0);
         CX_TEST_ASSERT(cxListSize(cxEmptyList) == 0);
     }
 }
@@ -706,13 +706,13 @@
     CX_TEST_DO {
         CxList *list = cxLinkedListCreate(alloc, cx_cmp_int, sizeof(int));
         CX_TEST_ASSERT(list != NULL);
-        CX_TEST_ASSERT(list->item_size == sizeof(int));
-        CX_TEST_ASSERT(list->simple_destructor == NULL);
-        CX_TEST_ASSERT(list->advanced_destructor == NULL);
-        CX_TEST_ASSERT(list->destructor_data == NULL);
+        CX_TEST_ASSERT(list->base.item_size == sizeof(int));
+        CX_TEST_ASSERT(list->base.simple_destructor == NULL);
+        CX_TEST_ASSERT(list->base.advanced_destructor == NULL);
+        CX_TEST_ASSERT(list->base.destructor_data == NULL);
         CX_TEST_ASSERT(cxListSize(list) == 0);
-        CX_TEST_ASSERT(list->allocator == alloc);
-        CX_TEST_ASSERT(list->cmpfunc == cx_cmp_int);
+        CX_TEST_ASSERT(list->base.allocator == alloc);
+        CX_TEST_ASSERT(list->base.cmpfunc == cx_cmp_int);
         CX_TEST_ASSERT(!cxListIsStoringPointers(list));
         cxListDestroy(list);
         CX_TEST_ASSERT(cx_testing_allocator_verify(&talloc));
@@ -724,13 +724,13 @@
     CxList *list = cxLinkedListCreateSimple(sizeof(int));
     CX_TEST_DO {
         CX_TEST_ASSERT(list != NULL);
-        CX_TEST_ASSERT(list->item_size == sizeof(int));
-        CX_TEST_ASSERT(list->simple_destructor == NULL);
-        CX_TEST_ASSERT(list->advanced_destructor == NULL);
-        CX_TEST_ASSERT(list->destructor_data == NULL);
+        CX_TEST_ASSERT(list->base.item_size == sizeof(int));
+        CX_TEST_ASSERT(list->base.simple_destructor == NULL);
+        CX_TEST_ASSERT(list->base.advanced_destructor == NULL);
+        CX_TEST_ASSERT(list->base.destructor_data == NULL);
         CX_TEST_ASSERT(cxListSize(list) == 0);
-        CX_TEST_ASSERT(list->allocator == cxDefaultAllocator);
-        CX_TEST_ASSERT(list->cmpfunc == NULL);
+        CX_TEST_ASSERT(list->base.allocator == cxDefaultAllocator);
+        CX_TEST_ASSERT(list->base.cmpfunc == NULL);
         CX_TEST_ASSERT(!cxListIsStoringPointers(list));
     }
     cxListDestroy(list);
@@ -741,7 +741,7 @@
     CX_TEST_DO {
         CX_TEST_ASSERT(!cxListIsStoringPointers(list));
         cxListStorePointers(list);
-        CX_TEST_ASSERT(list->item_size == sizeof(void *));
+        CX_TEST_ASSERT(list->base.item_size == sizeof(void *));
         CX_TEST_ASSERT(list->cl != NULL);
         CX_TEST_ASSERT(list->climpl != NULL);
         CX_TEST_ASSERT(cxListIsStoringPointers(list));
@@ -757,13 +757,13 @@
     CxList *list = cxLinkedListCreateSimple(CX_STORE_POINTERS);
     CX_TEST_DO {
         CX_TEST_ASSERT(list != NULL);
-        CX_TEST_ASSERT(list->item_size == sizeof(void*));
-        CX_TEST_ASSERT(list->simple_destructor == NULL);
-        CX_TEST_ASSERT(list->advanced_destructor == NULL);
-        CX_TEST_ASSERT(list->destructor_data == NULL);
+        CX_TEST_ASSERT(list->base.item_size == sizeof(void*));
+        CX_TEST_ASSERT(list->base.simple_destructor == NULL);
+        CX_TEST_ASSERT(list->base.advanced_destructor == NULL);
+        CX_TEST_ASSERT(list->base.destructor_data == NULL);
         CX_TEST_ASSERT(cxListSize(list) == 0);
-        CX_TEST_ASSERT(list->allocator == cxDefaultAllocator);
-        CX_TEST_ASSERT(list->cmpfunc == cx_cmp_ptr);
+        CX_TEST_ASSERT(list->base.allocator == cxDefaultAllocator);
+        CX_TEST_ASSERT(list->base.cmpfunc == cx_cmp_ptr);
         CX_TEST_ASSERT(cxListIsStoringPointers(list));
     }
     cxListDestroy(list);
@@ -776,13 +776,13 @@
     CX_TEST_DO {
         CxList *list = cxArrayListCreate(alloc, cx_cmp_int, sizeof(int), 8);
         CX_TEST_ASSERT(list != NULL);
-        CX_TEST_ASSERT(list->item_size == sizeof(int));
-        CX_TEST_ASSERT(list->simple_destructor == NULL);
-        CX_TEST_ASSERT(list->advanced_destructor == NULL);
-        CX_TEST_ASSERT(list->destructor_data == NULL);
+        CX_TEST_ASSERT(list->base.item_size == sizeof(int));
+        CX_TEST_ASSERT(list->base.simple_destructor == NULL);
+        CX_TEST_ASSERT(list->base.advanced_destructor == NULL);
+        CX_TEST_ASSERT(list->base.destructor_data == NULL);
         CX_TEST_ASSERT(cxListSize(list) == 0);
-        CX_TEST_ASSERT(list->allocator == alloc);
-        CX_TEST_ASSERT(list->cmpfunc == cx_cmp_int);
+        CX_TEST_ASSERT(list->base.allocator == alloc);
+        CX_TEST_ASSERT(list->base.cmpfunc == cx_cmp_int);
         CX_TEST_ASSERT(!cxListIsStoringPointers(list));
         cxListDestroy(list);
         CX_TEST_ASSERT(cx_testing_allocator_verify(&talloc));
@@ -794,13 +794,13 @@
     CxList *list = cxArrayListCreateSimple(sizeof(int), 8);
     CX_TEST_DO {
         CX_TEST_ASSERT(list != NULL);
-        CX_TEST_ASSERT(list->item_size == sizeof(int));
-        CX_TEST_ASSERT(list->simple_destructor == NULL);
-        CX_TEST_ASSERT(list->advanced_destructor == NULL);
-        CX_TEST_ASSERT(list->destructor_data == NULL);
+        CX_TEST_ASSERT(list->base.item_size == sizeof(int));
+        CX_TEST_ASSERT(list->base.simple_destructor == NULL);
+        CX_TEST_ASSERT(list->base.advanced_destructor == NULL);
+        CX_TEST_ASSERT(list->base.destructor_data == NULL);
         CX_TEST_ASSERT(cxListSize(list) == 0);
-        CX_TEST_ASSERT(list->allocator == cxDefaultAllocator);
-        CX_TEST_ASSERT(list->cmpfunc == NULL);
+        CX_TEST_ASSERT(list->base.allocator == cxDefaultAllocator);
+        CX_TEST_ASSERT(list->base.cmpfunc == NULL);
         CX_TEST_ASSERT(!cxListIsStoringPointers(list));
     }
     cxListDestroy(list);
@@ -810,13 +810,13 @@
     CxList *list = cxArrayListCreateSimple(CX_STORE_POINTERS, 8);
     CX_TEST_DO {
         CX_TEST_ASSERT(list != NULL);
-        CX_TEST_ASSERT(list->item_size == sizeof(void*));
-        CX_TEST_ASSERT(list->simple_destructor == NULL);
-        CX_TEST_ASSERT(list->advanced_destructor == NULL);
-        CX_TEST_ASSERT(list->destructor_data == NULL);
+        CX_TEST_ASSERT(list->base.item_size == sizeof(void*));
+        CX_TEST_ASSERT(list->base.simple_destructor == NULL);
+        CX_TEST_ASSERT(list->base.advanced_destructor == NULL);
+        CX_TEST_ASSERT(list->base.destructor_data == NULL);
         CX_TEST_ASSERT(cxListSize(list) == 0);
-        CX_TEST_ASSERT(list->allocator == cxDefaultAllocator);
-        CX_TEST_ASSERT(list->cmpfunc == cx_cmp_ptr);
+        CX_TEST_ASSERT(list->base.allocator == cxDefaultAllocator);
+        CX_TEST_ASSERT(list->base.cmpfunc == cx_cmp_ptr);
         CX_TEST_ASSERT(cxListIsStoringPointers(list));
     }
     cxListDestroy(list);
@@ -848,7 +848,7 @@
     CX_TEST_DO {
         int item = 0;
         CxList *list = cxLinkedListCreate(cxDefaultAllocator, cx_cmp_int, CX_STORE_POINTERS);
-        list->simple_destructor = test_fake_simple_int_destr;
+        list->base.simple_destructor = test_fake_simple_int_destr;
         cxListAdd(list, &item);
         cxListDestroy(list);
         CX_TEST_ASSERT(item == 42);
@@ -862,8 +862,8 @@
     CX_TEST_DO {
         void *item = cxMalloc(alloc, sizeof(int));
         CxList *list = cxLinkedListCreate(cxDefaultAllocator, cx_cmp_int, CX_STORE_POINTERS);
-        list->destructor_data = alloc;
-        list->advanced_destructor = (cx_destructor_func2) cxFree;
+        list->base.destructor_data = alloc;
+        list->base.advanced_destructor = (cx_destructor_func2) cxFree;
         cxListAdd(list, item);
         CX_TEST_ASSERT(!cx_testing_allocator_verify(&talloc));
         cxListDestroy(list);
@@ -894,7 +894,7 @@
     CX_TEST_DO {
         int item = 0;
         CxList *list = cxArrayListCreate(cxDefaultAllocator, cx_cmp_int, CX_STORE_POINTERS, 4);
-        list->simple_destructor = test_fake_simple_int_destr;
+        list->base.simple_destructor = test_fake_simple_int_destr;
         cxListAdd(list, &item);
         cxListDestroy(list);
         CX_TEST_ASSERT(item == 42);
@@ -908,8 +908,8 @@
     CX_TEST_DO {
         void *item = cxMalloc(alloc, sizeof(int));
         CxList *list = cxArrayListCreate(cxDefaultAllocator, cx_cmp_int, CX_STORE_POINTERS, 4);
-        list->destructor_data = alloc;
-        list->advanced_destructor = (cx_destructor_func2) cxFree;
+        list->base.destructor_data = alloc;
+        list->base.advanced_destructor = (cx_destructor_func2) cxFree;
         cxListAdd(list, item);
         CX_TEST_ASSERT(!cx_testing_allocator_verify(&talloc));
         cxListDestroy(list);
@@ -1207,8 +1207,8 @@
     int *testdata = int_test_data_added_to_list(list, isptrlist, len);
 
     CxIterator iter = cxListIterator(list);
-    CX_TEST_ASSERT(iter.elem_size == list->item_size);
-    CX_TEST_ASSERT(iter.elem_count == list->size);
+    CX_TEST_ASSERT(iter.elem_size == list->base.item_size);
+    CX_TEST_ASSERT(iter.elem_count == list->base.size);
     size_t i = 0;
     cx_foreach(int*, x, iter) {
         CX_TEST_ASSERT(i == iter.index);
@@ -1225,8 +1225,8 @@
     CX_TEST_ASSERT(i == 0);
     i = len / 2;
     CxIterator mut_iter = cxListMutIteratorAt(list, i);
-    CX_TEST_ASSERT(mut_iter.elem_size == list->item_size);
-    CX_TEST_ASSERT(mut_iter.elem_count == list->size);
+    CX_TEST_ASSERT(mut_iter.elem_size == list->base.item_size);
+    CX_TEST_ASSERT(mut_iter.elem_count == list->base.size);
     size_t j = 0;
     cx_foreach(int*, x, mut_iter) {
         CX_TEST_ASSERT(mut_iter.index == len / 2 + j / 2);
@@ -1395,7 +1395,7 @@
 roll_out_test_combos(simple_destr, {
     const size_t len = 60;
     int *testdata = int_test_data_added_to_list(list, isptrlist, len);
-    list->simple_destructor = simple_destr_test_fun;
+    list->base.simple_destructor = simple_destr_test_fun;
     CX_TEST_CALL_SUBROUTINE(test_list_verify_destructor, list, testdata, len);
     free(testdata);
 })
@@ -1403,7 +1403,7 @@
 roll_out_test_combos(advanced_destr, {
     const size_t len = 75;
     int *testdata = int_test_data_added_to_list(list, isptrlist, len);
-    list->advanced_destructor = advanced_destr_test_fun;
+    list->base.advanced_destructor = advanced_destr_test_fun;
     CX_TEST_CALL_SUBROUTINE(test_list_verify_destructor, list, testdata, len);
     free(testdata);
 })

mercurial