| 772 &new_begin, test_cmp_node |
772 &new_begin, test_cmp_node |
| 773 ); |
773 ); |
| 774 CX_TEST_ASSERT(new_begin.prev == NULL); |
774 CX_TEST_ASSERT(new_begin.prev == NULL); |
| 775 CX_TEST_ASSERT(new_begin.next == &nodes[0]); |
775 CX_TEST_ASSERT(new_begin.next == &nodes[0]); |
| 776 CX_TEST_ASSERT(nodes[0].prev == &new_begin); |
776 CX_TEST_ASSERT(nodes[0].prev == &new_begin); |
| |
777 CX_TEST_ASSERT(begin == &new_begin); |
| |
778 CX_TEST_ASSERT(end == &nodes[4]); |
| |
779 |
| |
780 // duplicate the beginning node |
| |
781 // (expectation is that the duplicate is inserted after the first node) |
| |
782 node new_begin_dup = {0}; |
| |
783 new_begin_dup.data = 1; |
| |
784 cx_linked_list_insert_sorted( |
| |
785 &begin, &end, |
| |
786 loc_prev, loc_next, |
| |
787 &new_begin_dup, test_cmp_node |
| |
788 ); |
| |
789 CX_TEST_ASSERT(new_begin_dup.prev == &new_begin); |
| |
790 CX_TEST_ASSERT(new_begin_dup.next == &nodes[0]); |
| |
791 CX_TEST_ASSERT(nodes[0].prev == &new_begin_dup); |
| |
792 CX_TEST_ASSERT(new_begin.next == &new_begin_dup); |
| 777 CX_TEST_ASSERT(begin == &new_begin); |
793 CX_TEST_ASSERT(begin == &new_begin); |
| 778 CX_TEST_ASSERT(end == &nodes[4]); |
794 CX_TEST_ASSERT(end == &nodes[4]); |
| 779 |
795 |
| 780 // now insert a chain |
796 // now insert a chain |
| 781 node chain_start = {NULL, NULL, 8}; |
797 node chain_start = {NULL, NULL, 8}; |