tests/test_list.c

changeset 1606
f5883f6e42e7
parent 1605
55b13f583356
child 1607
0ecb13118cac
--- a/tests/test_list.c	Sun Dec 14 17:30:17 2025 +0100
+++ b/tests/test_list.c	Sun Dec 14 21:14:34 2025 +0100
@@ -38,143 +38,41 @@
 #include <errno.h>
 
 CX_TEST(test_array_add) {
-    CX_ARRAY_DECLARE(int, arr);
-    arr = cxCallocDefault(5, sizeof(int));
-    arr[0] = 2;
-    arr[1] = 3;
-    arr[2] = 5;
-    arr[3] = 7;
-    arr[4] = 11;
-    arr_size = 3;
-    arr_capacity = 5;
-    int elem = 8, elem2 = 47;
-    int result;
-    CX_TEST_DO {
-        result = cx_array_simple_add(arr, elem);
-        CX_TEST_ASSERT(result == 0);
-        CX_TEST_ASSERT(arr[0] == 2);
-        CX_TEST_ASSERT(arr[1] == 3);
-        CX_TEST_ASSERT(arr[2] == 5);
-        CX_TEST_ASSERT(arr[3] == 8);
-        CX_TEST_ASSERT(arr[4] == 11);
-        CX_TEST_ASSERT(arr_size == 4);
-        CX_TEST_ASSERT(arr_capacity == 5);
-
-        arr_size = 5;
-        result = cx_array_simple_add(arr, elem2);
-        CX_TEST_ASSERT(result == 0);
-        CX_TEST_ASSERT(arr[0] == 2);
-        CX_TEST_ASSERT(arr[1] == 3);
-        CX_TEST_ASSERT(arr[2] == 5);
-        CX_TEST_ASSERT(arr[3] == 8);
-        CX_TEST_ASSERT(arr[4] == 11);
-        CX_TEST_ASSERT(arr[5] == 47);
-        CX_TEST_ASSERT(arr_size == 6);
-        CX_TEST_ASSERT(arr_capacity >= 6);
-    }
-    cxFreeDefault(arr);
-}
-
-CX_TEST(test_array_add8) {
-    CX_ARRAY_DECLARE_SIZED(int, arr, uint8_t);
-    arr = cxCallocDefault(5, sizeof(int));
-    arr[0] = 2;
-    arr[1] = 3;
-    arr[2] = 5;
-    arr[3] = 7;
-    arr[4] = 11;
-    arr_size = 3;
-    arr_capacity = 5;
+    CX_ARRAY(int, arr);
+    cx_array_init(arr, 5);
+    arr.data[0] = 2;
+    arr.data[1] = 3;
+    arr.data[2] = 5;
+    arr.data[3] = 7;
+    arr.data[4] = 11;
+    arr.size = 3;
+    arr.capacity = 5;
     int elem = 8, elem2 = 47;
     int result;
     CX_TEST_DO {
-        result = cx_array_simple_add(arr, elem);
-        CX_TEST_ASSERT(result == 0);
-        CX_TEST_ASSERT(arr[0] == 2);
-        CX_TEST_ASSERT(arr[1] == 3);
-        CX_TEST_ASSERT(arr[2] == 5);
-        CX_TEST_ASSERT(arr[3] == 8);
-        CX_TEST_ASSERT(arr[4] == 11);
-        CX_TEST_ASSERT(arr_size == 4);
-        CX_TEST_ASSERT(arr_capacity == 5);
-
-        arr_size = 5;
-        result = cx_array_simple_add(arr, elem2);
-        CX_TEST_ASSERT(result == 0);
-        CX_TEST_ASSERT(arr[0] == 2);
-        CX_TEST_ASSERT(arr[1] == 3);
-        CX_TEST_ASSERT(arr[2] == 5);
-        CX_TEST_ASSERT(arr[3] == 8);
-        CX_TEST_ASSERT(arr[4] == 11);
-        CX_TEST_ASSERT(arr[5] == 47);
-        CX_TEST_ASSERT(arr_size == 6);
-        CX_TEST_ASSERT(arr_capacity >= 6);
-
-        result = cx_array_simple_copy(arr, 260, &elem, 1);
-        CX_TEST_ASSERT(result != 0);
-        CX_TEST_ASSERT(errno == EOVERFLOW);
-        CX_TEST_ASSERT(arr_size == 6);
-        CX_TEST_ASSERT(arr_capacity < 128);
-    }
-    cxFreeDefault(arr);
-}
-
-CX_TEST(test_array_add16) {
-    CX_ARRAY_DECLARE_SIZED(char, arr, uint16_t);
-    cx_array_initialize(arr, 300);
-    arr_size = 270;
-    int result;
-    CX_TEST_DO {
-        char elem = 'A';
-        result = cx_array_simple_add(arr, elem);
+        result = cx_array_add(arr, &elem);
         CX_TEST_ASSERT(result == 0);
-        CX_TEST_ASSERT(arr[270] == 'A');
-        CX_TEST_ASSERT(arr_size == 271);
-        CX_TEST_ASSERT(arr_capacity == 300);
-
-        char *hello = "Hello";
-        result = cx_array_simple_copy(arr, 9000, hello, 5);
+        CX_TEST_ASSERT(arr.data[0] == 2);
+        CX_TEST_ASSERT(arr.data[1] == 3);
+        CX_TEST_ASSERT(arr.data[2] == 5);
+        CX_TEST_ASSERT(arr.data[3] == 8);
+        CX_TEST_ASSERT(arr.data[4] == 11);
+        CX_TEST_ASSERT(arr.size == 4);
+        CX_TEST_ASSERT(arr.capacity == 5);
+
+        arr.size = 5;
+        result = cx_array_add(arr, &elem2);
         CX_TEST_ASSERT(result == 0);
-        CX_TEST_ASSERT(arr[9000] == 'H');
-        CX_TEST_ASSERT(arr[9001] == 'e');
-        CX_TEST_ASSERT(arr[9002] == 'l');
-        CX_TEST_ASSERT(arr[9003] == 'l');
-        CX_TEST_ASSERT(arr[9004] == 'o');
-        CX_TEST_ASSERT(arr_size == 9005);
-        CX_TEST_ASSERT(arr_capacity == 9*1024);
-
-        // does not fit into 16-bit sized array
-        result = cx_array_simple_copy(arr, 65532, hello, 5);
-        CX_TEST_ASSERT(result != 0);
-        CX_TEST_ASSERT(errno == EOVERFLOW);
-        CX_TEST_ASSERT(arr_size == 9005);
-        CX_TEST_ASSERT(arr_capacity == 9*1024);
+        CX_TEST_ASSERT(arr.data[0] == 2);
+        CX_TEST_ASSERT(arr.data[1] == 3);
+        CX_TEST_ASSERT(arr.data[2] == 5);
+        CX_TEST_ASSERT(arr.data[3] == 8);
+        CX_TEST_ASSERT(arr.data[4] == 11);
+        CX_TEST_ASSERT(arr.data[5] == 47);
+        CX_TEST_ASSERT(arr.size == 6);
+        CX_TEST_ASSERT(arr.capacity >= 6);
     }
-    cxFreeDefault(arr);
-}
-
-CX_TEST(test_array_copy_unsupported_width) {
-    CX_ARRAY_DECLARE_SIZED(int, arr, uint16_t);
-    cx_array_initialize(arr, 16);
-    int result;
-    CX_TEST_DO {
-        int elem = 5;
-        result = cx_array_copy(
-            (void **) &(arr),
-            &(arr_size),
-            &(arr_capacity),
-            12, // unsupported width
-            5,
-            &elem, sizeof(int),
-            1,
-            cx_array_default_reallocator
-        );
-        CX_TEST_ASSERT(result != 0);
-        CX_TEST_ASSERT(errno == EINVAL);
-        CX_TEST_ASSERT(arr_size == 0);
-        CX_TEST_ASSERT(arr_capacity == 16);
-    }
-    cxFreeDefault(arr);
+    cx_array_free(arr);
 }
 
 CX_TEST(test_array_copy_overlap) {
@@ -3450,9 +3348,6 @@
     CxTestSuite *suite = cx_test_suite_new("array_list");
 
     cx_test_register(suite, test_array_add);
-    cx_test_register(suite, test_array_add8);
-    cx_test_register(suite, test_array_add16);
-    cx_test_register(suite, test_array_copy_unsupported_width);
     cx_test_register(suite, test_array_copy_overlap);
     cx_test_register(suite, test_array_reserve);
     cx_test_register(suite, test_array_reserve_unsupported_width);

mercurial