tests/test_list.c

changeset 1350
189756516eaa
parent 1321
1003c014bf92
--- 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 <stdarg.h>
 #include <errno.h>
@@ -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");
 

mercurial