diff -r 55b13f583356 -r f5883f6e42e7 tests/test_list.c --- 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 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);