1.1 --- a/test/test_list.cpp Mon Jan 23 20:00:26 2023 +0100 1.2 +++ b/test/test_list.cpp Mon Jan 23 20:22:11 2023 +0100 1.3 @@ -633,6 +633,34 @@ 1.4 EXPECT_EQ(*(int *) cxListAt(list, 3), 42); 1.5 } 1.6 1.7 + static void verifyInsertArray(CxList *list) { 1.8 + int a[5] = {5, 47, 11, 13, 42}; 1.9 + int b[5] = {9, 18, 72, 50, 7}; 1.10 + 1.11 + size_t inserted; 1.12 + 1.13 + inserted = cxListInsertArray(list, 0, a, 5); 1.14 + EXPECT_EQ(inserted, 5); 1.15 + EXPECT_EQ(*(int *) cxListAt(list, 0), 5); 1.16 + EXPECT_EQ(*(int *) cxListAt(list, 1), 47); 1.17 + EXPECT_EQ(*(int *) cxListAt(list, 2), 11); 1.18 + EXPECT_EQ(*(int *) cxListAt(list, 3), 13); 1.19 + EXPECT_EQ(*(int *) cxListAt(list, 4), 42); 1.20 + 1.21 + inserted = cxListInsertArray(list, 3, b, 5); 1.22 + EXPECT_EQ(inserted, 5); 1.23 + EXPECT_EQ(*(int *) cxListAt(list, 0), 5); 1.24 + EXPECT_EQ(*(int *) cxListAt(list, 1), 47); 1.25 + EXPECT_EQ(*(int *) cxListAt(list, 2), 11); 1.26 + EXPECT_EQ(*(int *) cxListAt(list, 3), 9); 1.27 + EXPECT_EQ(*(int *) cxListAt(list, 4), 18); 1.28 + EXPECT_EQ(*(int *) cxListAt(list, 5), 72); 1.29 + EXPECT_EQ(*(int *) cxListAt(list, 6), 50); 1.30 + EXPECT_EQ(*(int *) cxListAt(list, 7), 7); 1.31 + EXPECT_EQ(*(int *) cxListAt(list, 8), 13); 1.32 + EXPECT_EQ(*(int *) cxListAt(list, 9), 42); 1.33 + } 1.34 + 1.35 void verifyRemove(CxList *list) const { 1.36 EXPECT_EQ(cxListRemove(list, 2), 0); 1.37 EXPECT_EQ(cxListRemove(list, 4), 0); 1.38 @@ -824,6 +852,19 @@ 1.39 verifyInsert(autofree(cxArrayListCreate(&testingAllocator, cx_cmp_int, sizeof(int), 2))); 1.40 } 1.41 1.42 +TEST_F(LinkedList, cxListInsertArray) { 1.43 + verifyInsertArray(autofree(cxLinkedListCreate(&testingAllocator, cx_cmp_int, sizeof(int)))); 1.44 +} 1.45 + 1.46 +TEST_F(PointerLinkedList, cxListInsertArray) { 1.47 + //TODO: this is unfixably broken - solve with issue #234 1.48 + //verifyInsertArray(autofree(cxPointerLinkedListCreate(&testingAllocator, cx_cmp_int))); 1.49 +} 1.50 + 1.51 +TEST_F(ArrayList, cxListInsertArray) { 1.52 + verifyInsertArray(autofree(cxArrayListCreate(&testingAllocator, cx_cmp_int, sizeof(int), 4))); 1.53 +} 1.54 + 1.55 TEST_F(LinkedList, cxListRemove) { 1.56 verifyRemove(linkedListFromTestData()); 1.57 }