194 auto ta = create_nodes_test_data({2, 4, 6, 8}); |
194 auto ta = create_nodes_test_data({2, 4, 6, 8}); |
195 auto tb = create_nodes_test_data({2, 4, 6}); |
195 auto tb = create_nodes_test_data({2, 4, 6}); |
196 auto tc = create_nodes_test_data({2, 4, 6, 9}); |
196 auto tc = create_nodes_test_data({2, 4, 6, 9}); |
197 auto la = ta.begin, lb = tb.begin, lc = tc.begin; |
197 auto la = ta.begin, lb = tb.begin, lc = tc.begin; |
198 |
198 |
199 EXPECT_GT(cx_linked_list_compare(la, lb, loc_next, loc_data, false, cmp_int), 0); |
199 EXPECT_GT(cx_linked_list_compare(la, lb, loc_next, loc_data, false, false, cmp_int), 0); |
200 EXPECT_LT(cx_linked_list_compare(lb, la, loc_next, loc_data, false, cmp_int), 0); |
200 EXPECT_LT(cx_linked_list_compare(lb, la, loc_next, loc_data, false, false, cmp_int), 0); |
201 EXPECT_GT(cx_linked_list_compare(lc, la, loc_next, loc_data, false, cmp_int), 0); |
201 EXPECT_GT(cx_linked_list_compare(lc, la, loc_next, loc_data, false, false, cmp_int), 0); |
202 EXPECT_LT(cx_linked_list_compare(la, lc, loc_next, loc_data, false, cmp_int), 0); |
202 EXPECT_LT(cx_linked_list_compare(la, lc, loc_next, loc_data, false, false, cmp_int), 0); |
203 EXPECT_EQ(cx_linked_list_compare(la, la, loc_next, loc_data, false, cmp_int), 0); |
203 EXPECT_EQ(cx_linked_list_compare(la, la, loc_next, loc_data, false, false, cmp_int), 0); |
204 } |
204 } |
205 |
205 |
206 TEST(LinkedList_LowLevel, cx_linked_list_add) { |
206 TEST(LinkedList_LowLevel, cx_linked_list_add) { |
207 // test with begin, end / prev, next |
207 // test with begin, end / prev, next |
208 { |
208 { |
553 auto orig_begin = begin, orig_end = end; |
553 auto orig_begin = begin, orig_end = end; |
554 |
554 |
555 cx_linked_list_reverse(&begin, &end, loc_prev, loc_next); |
555 cx_linked_list_reverse(&begin, &end, loc_prev, loc_next); |
556 EXPECT_EQ(end, orig_begin); |
556 EXPECT_EQ(end, orig_begin); |
557 EXPECT_EQ(begin, orig_end); |
557 EXPECT_EQ(begin, orig_end); |
558 EXPECT_EQ(cx_linked_list_compare(begin, expected.begin, loc_next, loc_data, 0, cmp_int), 0); |
558 EXPECT_EQ(cx_linked_list_compare(begin, expected.begin, loc_next, loc_data, false, false, cmp_int), 0); |
559 } |
559 } |
560 |
560 |
561 class HighLevelTest : public ::testing::Test { |
561 class HighLevelTest : public ::testing::Test { |
562 mutable std::unordered_set<CxList *> lists; |
562 mutable std::unordered_set<CxList *> lists; |
563 protected: |
563 protected: |
881 auto left = linkedListFromTestData(); |
881 auto left = linkedListFromTestData(); |
882 auto right = linkedListFromTestData(); |
882 auto right = linkedListFromTestData(); |
883 verifyCompare(left, right); |
883 verifyCompare(left, right); |
884 } |
884 } |
885 |
885 |
|
886 TEST_F(LinkedList, cxListCompareWithPtrList) { |
|
887 auto left = linkedListFromTestData(); |
|
888 auto right = pointerLinkedListFromTestData(); |
|
889 verifyCompare(left, right); |
|
890 } |
|
891 |
886 TEST_F(PointerLinkedList, cxListCompare) { |
892 TEST_F(PointerLinkedList, cxListCompare) { |
887 auto left = pointerLinkedListFromTestData(); |
893 auto left = pointerLinkedListFromTestData(); |
888 auto right = pointerLinkedListFromTestData(); |
894 auto right = pointerLinkedListFromTestData(); |
|
895 verifyCompare(left, right); |
|
896 } |
|
897 |
|
898 TEST_F(PointerLinkedList, cxListCompareWithNormalList) { |
|
899 auto left = pointerLinkedListFromTestData(); |
|
900 auto right = linkedListFromTestData(); |
889 verifyCompare(left, right); |
901 verifyCompare(left, right); |
890 } |
902 } |
891 |
903 |
892 TEST_F(PointerLinkedList, NoDestructor) { |
904 TEST_F(PointerLinkedList, NoDestructor) { |
893 void *item = cxMalloc(&testingAllocator, sizeof(int)); |
905 void *item = cxMalloc(&testingAllocator, sizeof(int)); |