diff -r 5492e8ef05f4 -r 3a3ffc27813f tests/test_list.c --- a/tests/test_list.c Sat Apr 12 21:32:31 2025 +0200 +++ b/tests/test_list.c Sun Apr 13 11:09:05 2025 +0200 @@ -1628,6 +1628,30 @@ free(testdata); }) +roll_out_test_combos(set, { + // Add some values + int v1 = 42; + cxListAdd(list, &v1); + int v2 = 100; + cxListAdd(list, &v2); + int v3 = 47; + cxListAdd(list, &v3); + + // Change the first element + int v1new = 99; + CX_TEST_ASSERT(cxListSet(list, 0, &v1new) == 0); + CX_TEST_ASSERT(*(int *) cxListAt(list, 0) == 99); + + // Change the last element + int v3new = 101; + CX_TEST_ASSERT(cxListSet(list, 2, &v3new) == 0); + CX_TEST_ASSERT(*(int *) cxListAt(list, 2) == 101); + + // Try index out of bounds + int oob = 1337; + CX_TEST_ASSERT(cxListSet(list, 3, &oob) != 0); +}) + roll_out_test_combos_with_defaulted_funcs(swap, { int original[16] = array_init(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); int swapped[16] = array_init(8, 4, 14, 3, 1, 5, 9, 12, 0, 6, 11, 10, 7, 15, 2, 13); @@ -1981,6 +2005,8 @@ cx_test_register(suite, test_list_parl_clear); cx_test_register(suite, test_list_arl_at); cx_test_register(suite, test_list_parl_at); + cx_test_register(suite, test_list_arl_set); + cx_test_register(suite, test_list_parl_set); cx_test_register(suite, test_list_arl_swap); cx_test_register(suite, test_list_parl_swap); cx_test_register(suite, test_list_arl_swap_no_sbo); @@ -2080,6 +2106,8 @@ cx_test_register(suite, test_list_pll_clear); cx_test_register(suite, test_list_ll_at); cx_test_register(suite, test_list_pll_at); + cx_test_register(suite, test_list_ll_set); + cx_test_register(suite, test_list_pll_set); cx_test_register(suite, test_list_ll_swap); cx_test_register(suite, test_list_pll_swap); cx_test_register(suite, test_list_ll_find);