test/test_list.cpp

changeset 638
eafb45eefc51
parent 630
ac5e7f789048
child 639
309e8b08c60e
equal deleted inserted replaced
637:ceadf0792ded 638:eafb45eefc51
631 EXPECT_EQ(*(int *) cxListAt(list, 1), 13); 631 EXPECT_EQ(*(int *) cxListAt(list, 1), 13);
632 EXPECT_EQ(*(int *) cxListAt(list, 2), 5); 632 EXPECT_EQ(*(int *) cxListAt(list, 2), 5);
633 EXPECT_EQ(*(int *) cxListAt(list, 3), 42); 633 EXPECT_EQ(*(int *) cxListAt(list, 3), 42);
634 } 634 }
635 635
636 static void verifyInsertArray(CxList *list) {
637 int a[5] = {5, 47, 11, 13, 42};
638 int b[5] = {9, 18, 72, 50, 7};
639
640 size_t inserted;
641
642 inserted = cxListInsertArray(list, 0, a, 5);
643 EXPECT_EQ(inserted, 5);
644 EXPECT_EQ(*(int *) cxListAt(list, 0), 5);
645 EXPECT_EQ(*(int *) cxListAt(list, 1), 47);
646 EXPECT_EQ(*(int *) cxListAt(list, 2), 11);
647 EXPECT_EQ(*(int *) cxListAt(list, 3), 13);
648 EXPECT_EQ(*(int *) cxListAt(list, 4), 42);
649
650 inserted = cxListInsertArray(list, 3, b, 5);
651 EXPECT_EQ(inserted, 5);
652 EXPECT_EQ(*(int *) cxListAt(list, 0), 5);
653 EXPECT_EQ(*(int *) cxListAt(list, 1), 47);
654 EXPECT_EQ(*(int *) cxListAt(list, 2), 11);
655 EXPECT_EQ(*(int *) cxListAt(list, 3), 9);
656 EXPECT_EQ(*(int *) cxListAt(list, 4), 18);
657 EXPECT_EQ(*(int *) cxListAt(list, 5), 72);
658 EXPECT_EQ(*(int *) cxListAt(list, 6), 50);
659 EXPECT_EQ(*(int *) cxListAt(list, 7), 7);
660 EXPECT_EQ(*(int *) cxListAt(list, 8), 13);
661 EXPECT_EQ(*(int *) cxListAt(list, 9), 42);
662 }
663
636 void verifyRemove(CxList *list) const { 664 void verifyRemove(CxList *list) const {
637 EXPECT_EQ(cxListRemove(list, 2), 0); 665 EXPECT_EQ(cxListRemove(list, 2), 0);
638 EXPECT_EQ(cxListRemove(list, 4), 0); 666 EXPECT_EQ(cxListRemove(list, 4), 0);
639 EXPECT_EQ(list->size, testdata_len - 2); 667 EXPECT_EQ(list->size, testdata_len - 2);
640 EXPECT_GE(list->capacity, list->size); 668 EXPECT_GE(list->capacity, list->size);
822 850
823 TEST_F(ArrayList, cxListInsert) { 851 TEST_F(ArrayList, cxListInsert) {
824 verifyInsert(autofree(cxArrayListCreate(&testingAllocator, cx_cmp_int, sizeof(int), 2))); 852 verifyInsert(autofree(cxArrayListCreate(&testingAllocator, cx_cmp_int, sizeof(int), 2)));
825 } 853 }
826 854
855 TEST_F(LinkedList, cxListInsertArray) {
856 verifyInsertArray(autofree(cxLinkedListCreate(&testingAllocator, cx_cmp_int, sizeof(int))));
857 }
858
859 TEST_F(PointerLinkedList, cxListInsertArray) {
860 //TODO: this is unfixably broken - solve with issue #234
861 //verifyInsertArray(autofree(cxPointerLinkedListCreate(&testingAllocator, cx_cmp_int)));
862 }
863
864 TEST_F(ArrayList, cxListInsertArray) {
865 verifyInsertArray(autofree(cxArrayListCreate(&testingAllocator, cx_cmp_int, sizeof(int), 4)));
866 }
867
827 TEST_F(LinkedList, cxListRemove) { 868 TEST_F(LinkedList, cxListRemove) {
828 verifyRemove(linkedListFromTestData()); 869 verifyRemove(linkedListFromTestData());
829 } 870 }
830 871
831 TEST_F(PointerLinkedList, cxListRemove) { 872 TEST_F(PointerLinkedList, cxListRemove) {

mercurial