tests/test_list.c

changeset 1287
3a3ffc27813f
parent 1225
086e63c8dd06
child 1294
30d7ae76c76a
--- 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);

mercurial