tests/test_list.cpp

changeset 667
2f88a7c13a28
parent 666
b5dd654deb3b
child 672
55d8fdd38ca4
     1.1 --- a/tests/test_list.cpp	Mon Mar 20 19:09:08 2023 +0100
     1.2 +++ b/tests/test_list.cpp	Tue Mar 21 17:18:29 2023 +0100
     1.3 @@ -587,8 +587,7 @@
     1.4      }
     1.5  
     1.6      auto pointerLinkedListFromTestData() const -> CxList * {
     1.7 -        auto list = autofree(cxLinkedListCreate(&testingAllocator, cx_cmp_int, sizeof(int *)));
     1.8 -        cxListStorePointers(list);
     1.9 +        auto list = autofree(cxLinkedListCreate(&testingAllocator, cx_cmp_int, CX_STORE_POINTERS));
    1.10          // note: cannot use cxListAddArray() because we don't have a list of pointers
    1.11          cx_for_n(i, testdata_len) cxListAdd(list, &testdata.data[i]);
    1.12          return list;
    1.13 @@ -933,6 +932,12 @@
    1.14      EXPECT_NE(list->cl, nullptr);
    1.15      EXPECT_EQ(list->climpl, nullptr);
    1.16      EXPECT_FALSE(cxListIsStoringPointers(list));
    1.17 +
    1.18 +    list = autofree(cxLinkedListCreate(&testingAllocator, cx_cmp_int, CX_STORE_POINTERS));
    1.19 +    EXPECT_EQ(list->itemsize, sizeof(void *));
    1.20 +    EXPECT_NE(list->cl, nullptr);
    1.21 +    EXPECT_NE(list->climpl, nullptr);
    1.22 +    EXPECT_TRUE(cxListIsStoringPointers(list));
    1.23  }
    1.24  
    1.25  TEST_F(LinkedList, cxLinkedListCreate) {
    1.26 @@ -975,8 +980,7 @@
    1.27  }
    1.28  
    1.29  TEST_F(PointerLinkedList, cxListAdd) {
    1.30 -    auto list = autofree(cxLinkedListCreate(&testingAllocator, cx_cmp_int, sizeof(int *)));
    1.31 -    cxListStorePointers(list);
    1.32 +    auto list = autofree(cxLinkedListCreate(&testingAllocator, cx_cmp_int, CX_STORE_POINTERS));
    1.33      verifyAdd(list, true);
    1.34  }
    1.35  
    1.36 @@ -990,9 +994,7 @@
    1.37  }
    1.38  
    1.39  TEST_F(PointerLinkedList, cxListInsert) {
    1.40 -    auto list = autofree(cxLinkedListCreate(&testingAllocator, cx_cmp_int, sizeof(int *)));
    1.41 -    cxListStorePointers(list);
    1.42 -    verifyInsert(list);
    1.43 +    verifyInsert(autofree(cxLinkedListCreate(&testingAllocator, cx_cmp_int, CX_STORE_POINTERS)));
    1.44  }
    1.45  
    1.46  TEST_F(ArrayList, cxListInsert) {
    1.47 @@ -1004,9 +1006,7 @@
    1.48  }
    1.49  
    1.50  TEST_F(PointerLinkedList, cxListInsertArray) {
    1.51 -    auto list = autofree(cxLinkedListCreate(&testingAllocator, cx_cmp_int, sizeof(int *)));
    1.52 -    cxListStorePointers(list);
    1.53 -    verifyInsertArray(list, true);
    1.54 +    verifyInsertArray(autofree(cxLinkedListCreate(&testingAllocator, cx_cmp_int, CX_STORE_POINTERS)), true);
    1.55  }
    1.56  
    1.57  TEST_F(ArrayList, cxListInsertArray) {
    1.58 @@ -1030,9 +1030,7 @@
    1.59  }
    1.60  
    1.61  TEST_F(PointerLinkedList, cxListClear) {
    1.62 -    auto l = cxLinkedListCreateSimple(sizeof(testdatastruct));
    1.63 -    cxListStorePointers(l);
    1.64 -    verifyClear(autofree(l));
    1.65 +    verifyClear(cxLinkedListCreateSimple(CX_STORE_POINTERS));
    1.66  }
    1.67  
    1.68  TEST_F(ArrayList, cxListClear) {
    1.69 @@ -1044,9 +1042,7 @@
    1.70  }
    1.71  
    1.72  TEST_F(PointerLinkedList, cxListSwap) {
    1.73 -    auto list = autofree(cxLinkedListCreate(&testingAllocator, cx_cmp_int, sizeof(int *)));
    1.74 -    cxListStorePointers(list);
    1.75 -    verifySwap(list);
    1.76 +    verifySwap(autofree(cxLinkedListCreate(&testingAllocator, cx_cmp_int, CX_STORE_POINTERS)));
    1.77  }
    1.78  
    1.79  TEST_F(ArrayList, cxListSwap) {
    1.80 @@ -1060,10 +1056,8 @@
    1.81  }
    1.82  
    1.83  TEST_F(PointerLinkedList, cxListSwapNoSBO) {
    1.84 -    auto list = autofree(cxLinkedListCreate(&testingAllocator, cx_cmp_int, sizeof(int *)));
    1.85 -    cxListStorePointers(list);
    1.86      CX_DISABLE_LINKED_LIST_SWAP_SBO = true;
    1.87 -    verifySwap(list);
    1.88 +    verifySwap(autofree(cxLinkedListCreate(&testingAllocator, cx_cmp_int, CX_STORE_POINTERS)));
    1.89      CX_DISABLE_LINKED_LIST_SWAP_SBO = false;
    1.90  }
    1.91  
    1.92 @@ -1130,8 +1124,7 @@
    1.93  
    1.94  TEST_F(PointerLinkedList, InsertViaIterator) {
    1.95      int fivenums[] = {0, 1, 2, 3, 4, 5};
    1.96 -    auto list = autofree(cxLinkedListCreate(&testingAllocator, cx_cmp_int, sizeof(int *)));
    1.97 -    cxListStorePointers(list);
    1.98 +    auto list = autofree(cxLinkedListCreate(&testingAllocator, cx_cmp_int, CX_STORE_POINTERS));
    1.99      // note: cannot use cxListAddArray() because we don't have a list of pointers
   1.100      cx_for_n(i, 5) cxListAdd(list, &fivenums[i]);
   1.101      verifyInsertViaIterator(list);
   1.102 @@ -1139,7 +1132,7 @@
   1.103  
   1.104  TEST_F(ArrayList, InsertViaIterator) {
   1.105      int fivenums[] = {0, 1, 2, 3, 4, 5};
   1.106 -    CxList *list = autofree(cxArrayListCreate(&testingAllocator, cx_cmp_int, sizeof(int), 4));
   1.107 +    auto list = autofree(cxArrayListCreate(&testingAllocator, cx_cmp_int, sizeof(int), 4));
   1.108      cxListAddArray(list, fivenums, 5);
   1.109      verifyInsertViaIterator(list);
   1.110  }
   1.111 @@ -1212,8 +1205,7 @@
   1.112  
   1.113  TEST_F(PointerLinkedList, NoDestructor) {
   1.114      void *item = cxMalloc(&testingAllocator, sizeof(int));
   1.115 -    auto list = cxLinkedListCreate(cxDefaultAllocator, cx_cmp_int, sizeof(int *));
   1.116 -    cxListStorePointers(list);
   1.117 +    auto list = cxLinkedListCreate(cxDefaultAllocator, cx_cmp_int, CX_STORE_POINTERS);
   1.118      cxListAdd(list, item);
   1.119      ASSERT_FALSE(testingAllocator.verify());
   1.120      cxListDestroy(list);
   1.121 @@ -1224,8 +1216,7 @@
   1.122  
   1.123  TEST_F(PointerLinkedList, SimpleDestructor) {
   1.124      int item = 0;
   1.125 -    auto list = cxLinkedListCreate(cxDefaultAllocator, cx_cmp_int, sizeof(int *));
   1.126 -    cxListStorePointers(list);
   1.127 +    auto list = cxLinkedListCreate(cxDefaultAllocator, cx_cmp_int, CX_STORE_POINTERS);
   1.128      list->content_destructor_type = CX_DESTRUCTOR_SIMPLE;
   1.129      list->simple_destructor = [](void *elem) { *(int *) elem = 42; };
   1.130      cxListAdd(list, &item);
   1.131 @@ -1235,8 +1226,7 @@
   1.132  
   1.133  TEST_F(PointerLinkedList, AdvancedDestructor) {
   1.134      void *item = cxMalloc(&testingAllocator, sizeof(int));
   1.135 -    auto list = cxLinkedListCreate(cxDefaultAllocator, cx_cmp_int, sizeof(int *));
   1.136 -    cxListStorePointers(list);
   1.137 +    auto list = cxLinkedListCreate(cxDefaultAllocator, cx_cmp_int, CX_STORE_POINTERS);
   1.138      list->content_destructor_type = CX_DESTRUCTOR_ADVANCED;
   1.139      list->advanced_destructor.data = &testingAllocator;
   1.140      list->advanced_destructor.func = (cx_destructor_func2) cxFree;

mercurial