add missing test coverage for inserting a duplicate for the beginning node with cx_linked_list_insert_sorted() default tip

Mon, 17 Nov 2025 22:28:04 +0100

author
Mike Becker <universe@uap-core.de>
date
Mon, 17 Nov 2025 22:28:04 +0100
changeset 1493
33f556a7eca6
parent 1492
cc83ce484bf7

add missing test coverage for inserting a duplicate for the beginning node with cx_linked_list_insert_sorted()

tests/test_list.c file | annotate | diff | comparison | revisions
--- a/tests/test_list.c	Sat Nov 15 08:30:00 2025 +0100
+++ b/tests/test_list.c	Mon Nov 17 22:28:04 2025 +0100
@@ -777,6 +777,22 @@
         CX_TEST_ASSERT(begin == &new_begin);
         CX_TEST_ASSERT(end == &nodes[4]);
 
+        // duplicate the beginning node
+        // (expectation is that the duplicate is inserted after the first node)
+        node new_begin_dup = {0};
+        new_begin_dup.data = 1;
+        cx_linked_list_insert_sorted(
+                &begin, &end,
+                loc_prev, loc_next,
+                &new_begin_dup, test_cmp_node
+        );
+        CX_TEST_ASSERT(new_begin_dup.prev == &new_begin);
+        CX_TEST_ASSERT(new_begin_dup.next == &nodes[0]);
+        CX_TEST_ASSERT(nodes[0].prev == &new_begin_dup);
+        CX_TEST_ASSERT(new_begin.next == &new_begin_dup);
+        CX_TEST_ASSERT(begin == &new_begin);
+        CX_TEST_ASSERT(end == &nodes[4]);
+
         // now insert a chain
         node chain_start  = {NULL, NULL, 8};
         node chain_mid = {NULL, NULL, 14};

mercurial