diff -r b1696d0d598b -r 189756516eaa tests/test_list.c --- a/tests/test_list.c Tue Aug 26 21:14:17 2025 +0200 +++ b/tests/test_list.c Tue Aug 26 21:55:19 2025 +0200 @@ -32,6 +32,7 @@ #include "cx/array_list.h" #include "cx/linked_list.h" +#include "cx/kv_list.h" #include #include @@ -1242,6 +1243,12 @@ CX_TEST_CALL_SUBROUTINE(test_list_verify_##name, list, false); \ tear_down_combo \ } \ +CX_TEST(test_list_kvl_##name) { \ + set_up_combo \ + CxList *list = cxKvListCreate(alloc, cx_cmp_int, sizeof(int)); \ + CX_TEST_CALL_SUBROUTINE(test_list_verify_##name, list, false); \ + tear_down_combo \ +} \ CX_TEST(test_list_pll_##name) { \ set_up_combo \ CxList *list = cxLinkedListCreate(alloc, cx_cmp_int, CX_STORE_POINTERS); \ @@ -1253,6 +1260,12 @@ CxList *list = cxArrayListCreate(alloc, cx_cmp_int, CX_STORE_POINTERS, 8); \ CX_TEST_CALL_SUBROUTINE(test_list_verify_##name, list, true); \ tear_down_combo \ +} \ +CX_TEST(test_list_pkvl_##name) { \ + set_up_combo \ + CxList *list = cxKvListCreate(alloc, cx_cmp_int, CX_STORE_POINTERS); \ + CX_TEST_CALL_SUBROUTINE(test_list_verify_##name, list, true); \ + tear_down_combo \ } #define roll_out_test_combos(name, body) \ static CX_TEST_SUBROUTINE(test_list_verify_##name, CxList *list, \ @@ -2326,6 +2339,65 @@ return suite; } +CxTestSuite *cx_test_suite_kv_list(void) { + CxTestSuite *suite = cx_test_suite_new("kv_list"); + + cx_test_register(suite, test_list_kvl_add); + cx_test_register(suite, test_list_pkvl_add); + cx_test_register(suite, test_list_kvl_insert); + cx_test_register(suite, test_list_pkvl_insert); + cx_test_register(suite, test_list_kvl_emplace); + cx_test_register(suite, test_list_pkvl_emplace); + cx_test_register(suite, test_list_kvl_insert_array); + cx_test_register(suite, test_list_pkvl_insert_array); + cx_test_register(suite, test_list_kvl_insert_sorted); + cx_test_register(suite, test_list_pkvl_insert_sorted); + cx_test_register(suite, test_list_kvl_remove); + cx_test_register(suite, test_list_pkvl_remove); + cx_test_register(suite, test_list_kvl_remove_and_get); + cx_test_register(suite, test_list_pkvl_remove_and_get); + cx_test_register(suite, test_list_kvl_remove_array); + cx_test_register(suite, test_list_pkvl_remove_array); + cx_test_register(suite, test_list_kvl_find_remove); + cx_test_register(suite, test_list_pkvl_find_remove); + cx_test_register(suite, test_list_kvl_find_remove_sorted); + cx_test_register(suite, test_list_pkvl_find_remove_sorted); + cx_test_register(suite, test_list_kvl_contains); + cx_test_register(suite, test_list_pkvl_contains); + cx_test_register(suite, test_list_kvl_clear); + cx_test_register(suite, test_list_pkvl_clear); + cx_test_register(suite, test_list_kvl_at); + cx_test_register(suite, test_list_pkvl_at); + cx_test_register(suite, test_list_kvl_set); + cx_test_register(suite, test_list_pkvl_set); + cx_test_register(suite, test_list_kvl_swap); + cx_test_register(suite, test_list_pkvl_swap); + cx_test_register(suite, test_list_kvl_find); + cx_test_register(suite, test_list_pkvl_find); + cx_test_register(suite, test_list_kvl_sort); + cx_test_register(suite, test_list_pkvl_sort); + cx_test_register(suite, test_list_kvl_reverse); + cx_test_register(suite, test_list_pkvl_reverse); + cx_test_register(suite, test_list_kvl_iterator); + cx_test_register(suite, test_list_pkvl_iterator); + cx_test_register(suite, test_list_kvl_insert_with_iterator); + cx_test_register(suite, test_list_pkvl_insert_with_iterator); + cx_test_register(suite, test_list_kvl_compare_ll); + cx_test_register(suite, test_list_kvl_compare_arl); + cx_test_register(suite, test_list_kvl_compare_pll); + cx_test_register(suite, test_list_kvl_compare_parl); + cx_test_register(suite, test_list_pkvl_compare_ll); + cx_test_register(suite, test_list_pkvl_compare_arl); + cx_test_register(suite, test_list_pkvl_compare_pll); + cx_test_register(suite, test_list_pkvl_compare_parl); + cx_test_register(suite, test_list_kvl_simple_destr); + cx_test_register(suite, test_list_pkvl_simple_destr); + cx_test_register(suite, test_list_kvl_advanced_destr); + cx_test_register(suite, test_list_pkvl_advanced_destr); + + return suite; +} + CxTestSuite *cx_test_suite_empty_list(void) { CxTestSuite *suite = cx_test_suite_new("empty list dummy");