use ucx compare function in list tests

Sun, 06 Nov 2022 14:17:33 +0100

author
Mike Becker <universe@uap-core.de>
date
Sun, 06 Nov 2022 14:17:33 +0100
changeset 602
3b071ea0e9cf
parent 601
95ba6014041b
child 603
c49104015a6b

use ucx compare function in list tests

test/test_list.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/test/test_list.cpp	Sat Nov 05 17:50:04 2022 +0100
     1.2 +++ b/test/test_list.cpp	Sun Nov 06 14:17:33 2022 +0100
     1.3 @@ -28,6 +28,7 @@
     1.4  
     1.5  #include "cx/linked_list.h"
     1.6  #include "cx/utils.h"
     1.7 +#include "cx/compare.h"
     1.8  #include "util_allocator.h"
     1.9  
    1.10  #include <gtest/gtest.h>
    1.11 @@ -36,16 +37,6 @@
    1.12  #include <unordered_set>
    1.13  #include <algorithm>
    1.14  
    1.15 -static int cmp_int_impl(
    1.16 -        int const *l,
    1.17 -        int const *r
    1.18 -) {
    1.19 -    int left = *l, right = *r;
    1.20 -    return left == right ? 0 : (left < right ? -1 : 1);
    1.21 -}
    1.22 -
    1.23 -#define cmp_int ((CxListComparator) cmp_int_impl)
    1.24 -
    1.25  struct node {
    1.26      node *next = nullptr;
    1.27      node *prev = nullptr;
    1.28 @@ -177,17 +168,17 @@
    1.29      int s;
    1.30  
    1.31      s = 2;
    1.32 -    EXPECT_EQ(cx_linked_list_find(list, loc_next, loc_data, false, cmp_int, &s), 0);
    1.33 +    EXPECT_EQ(cx_linked_list_find(list, loc_next, loc_data, false, cx_cmp_int, &s), 0);
    1.34      s = 4;
    1.35 -    EXPECT_EQ(cx_linked_list_find(list, loc_next, loc_data, false, cmp_int, &s), 1);
    1.36 +    EXPECT_EQ(cx_linked_list_find(list, loc_next, loc_data, false, cx_cmp_int, &s), 1);
    1.37      s = 6;
    1.38 -    EXPECT_EQ(cx_linked_list_find(list, loc_next, loc_data, false, cmp_int, &s), 2);
    1.39 +    EXPECT_EQ(cx_linked_list_find(list, loc_next, loc_data, false, cx_cmp_int, &s), 2);
    1.40      s = 8;
    1.41 -    EXPECT_EQ(cx_linked_list_find(list, loc_next, loc_data, false, cmp_int, &s), 3);
    1.42 +    EXPECT_EQ(cx_linked_list_find(list, loc_next, loc_data, false, cx_cmp_int, &s), 3);
    1.43      s = 10;
    1.44 -    EXPECT_EQ(cx_linked_list_find(list, loc_next, loc_data, false, cmp_int, &s), 4);
    1.45 +    EXPECT_EQ(cx_linked_list_find(list, loc_next, loc_data, false, cx_cmp_int, &s), 4);
    1.46      s = -2;
    1.47 -    EXPECT_EQ(cx_linked_list_find(list, loc_next, loc_data, false, cmp_int, &s), 4);
    1.48 +    EXPECT_EQ(cx_linked_list_find(list, loc_next, loc_data, false, cx_cmp_int, &s), 4);
    1.49  }
    1.50  
    1.51  TEST(LinkedList_LowLevel, cx_linked_list_compare) {
    1.52 @@ -196,11 +187,11 @@
    1.53      auto tc = create_nodes_test_data({2, 4, 6, 9});
    1.54      auto la = ta.begin, lb = tb.begin, lc = tc.begin;
    1.55  
    1.56 -    EXPECT_GT(cx_linked_list_compare(la, lb, loc_next, loc_data, false, false, cmp_int), 0);
    1.57 -    EXPECT_LT(cx_linked_list_compare(lb, la, loc_next, loc_data, false, false, cmp_int), 0);
    1.58 -    EXPECT_GT(cx_linked_list_compare(lc, la, loc_next, loc_data, false, false, cmp_int), 0);
    1.59 -    EXPECT_LT(cx_linked_list_compare(la, lc, loc_next, loc_data, false, false, cmp_int), 0);
    1.60 -    EXPECT_EQ(cx_linked_list_compare(la, la, loc_next, loc_data, false, false, cmp_int), 0);
    1.61 +    EXPECT_GT(cx_linked_list_compare(la, lb, loc_next, loc_data, false, false, cx_cmp_int), 0);
    1.62 +    EXPECT_LT(cx_linked_list_compare(lb, la, loc_next, loc_data, false, false, cx_cmp_int), 0);
    1.63 +    EXPECT_GT(cx_linked_list_compare(lc, la, loc_next, loc_data, false, false, cx_cmp_int), 0);
    1.64 +    EXPECT_LT(cx_linked_list_compare(la, lc, loc_next, loc_data, false, false, cx_cmp_int), 0);
    1.65 +    EXPECT_EQ(cx_linked_list_compare(la, la, loc_next, loc_data, false, false, cx_cmp_int), 0);
    1.66  }
    1.67  
    1.68  TEST(LinkedList_LowLevel, cx_linked_list_add) {
    1.69 @@ -527,7 +518,7 @@
    1.70      void *end = cx_linked_list_last(begin, loc_next);
    1.71  
    1.72      cx_linked_list_sort(&begin, &end, loc_prev, loc_next, loc_data,
    1.73 -                        false, cmp_int);
    1.74 +                        false, cx_cmp_int);
    1.75  
    1.76      node *check = reinterpret_cast<node *>(begin);
    1.77      node *check_last = nullptr;
    1.78 @@ -555,7 +546,7 @@
    1.79      cx_linked_list_reverse(&begin, &end, loc_prev, loc_next);
    1.80      EXPECT_EQ(end, orig_begin);
    1.81      EXPECT_EQ(begin, orig_end);
    1.82 -    EXPECT_EQ(cx_linked_list_compare(begin, expected.begin, loc_next, loc_data, false, false, cmp_int), 0);
    1.83 +    EXPECT_EQ(cx_linked_list_compare(begin, expected.begin, loc_next, loc_data, false, false, cx_cmp_int), 0);
    1.84  }
    1.85  
    1.86  class HighLevelTest : public ::testing::Test {
    1.87 @@ -580,7 +571,7 @@
    1.88          return autofree(
    1.89                  cxLinkedListFromArray(
    1.90                          &testingAllocator,
    1.91 -                        cmp_int,
    1.92 +                        cx_cmp_int,
    1.93                          sizeof(int),
    1.94                          testdata_len,
    1.95                          testdata.data.data()
    1.96 @@ -589,7 +580,7 @@
    1.97      }
    1.98  
    1.99      auto pointerLinkedListFromTestData() const -> CxList * {
   1.100 -        auto list = autofree(cxPointerLinkedListCreate(&testingAllocator, cmp_int));
   1.101 +        auto list = autofree(cxPointerLinkedListCreate(&testingAllocator, cx_cmp_int));
   1.102          cx_for_n(i, testdata_len) cxListAdd(list, &testdata.data[i]);
   1.103          return list;
   1.104      }
   1.105 @@ -599,7 +590,7 @@
   1.106          EXPECT_EQ(list->size, 0);
   1.107          EXPECT_EQ(list->capacity, (size_t) -1);
   1.108          EXPECT_EQ(list->allocator, &testingAllocator);
   1.109 -        EXPECT_EQ(list->cmpfunc, cmp_int);
   1.110 +        EXPECT_EQ(list->cmpfunc, cx_cmp_int);
   1.111      }
   1.112  
   1.113      void verifyAdd(
   1.114 @@ -779,41 +770,41 @@
   1.115  };
   1.116  
   1.117  TEST_F(LinkedList, cxLinkedListCreate) {
   1.118 -    CxList *list = autofree(cxLinkedListCreate(&testingAllocator, cmp_int, sizeof(int)));
   1.119 +    CxList *list = autofree(cxLinkedListCreate(&testingAllocator, cx_cmp_int, sizeof(int)));
   1.120      EXPECT_EQ(list->itemsize, sizeof(int));
   1.121      verifyCreate(list);
   1.122  }
   1.123  
   1.124  TEST_F(PointerLinkedList, cxPointerLinkedListCreate) {
   1.125 -    CxList *list = autofree(cxPointerLinkedListCreate(&testingAllocator, cmp_int));
   1.126 +    CxList *list = autofree(cxPointerLinkedListCreate(&testingAllocator, cx_cmp_int));
   1.127      EXPECT_EQ(list->itemsize, sizeof(void *));
   1.128      verifyCreate(list);
   1.129  }
   1.130  
   1.131  TEST_F(LinkedList, cxLinkedListFromArray) {
   1.132 -    CxList *expected = autofree(cxLinkedListCreate(&testingAllocator, cmp_int, sizeof(int)));
   1.133 +    CxList *expected = autofree(cxLinkedListCreate(&testingAllocator, cx_cmp_int, sizeof(int)));
   1.134      cx_for_n (i, testdata_len) cxListAdd(expected, &testdata.data[i]);
   1.135 -    CxList *list = autofree(cxLinkedListFromArray(&testingAllocator, cmp_int, sizeof(int),
   1.136 +    CxList *list = autofree(cxLinkedListFromArray(&testingAllocator, cx_cmp_int, sizeof(int),
   1.137                                                    testdata_len, testdata.data.data()));
   1.138      EXPECT_EQ(cxListCompare(list, expected), 0);
   1.139  }
   1.140  
   1.141  TEST_F(LinkedList, cxListAdd) {
   1.142 -    CxList *list = autofree(cxLinkedListCreate(&testingAllocator, cmp_int, sizeof(int)));
   1.143 +    CxList *list = autofree(cxLinkedListCreate(&testingAllocator, cx_cmp_int, sizeof(int)));
   1.144      verifyAdd(list, false);
   1.145  }
   1.146  
   1.147  TEST_F(PointerLinkedList, cxListAdd) {
   1.148 -    CxList *list = autofree(cxPointerLinkedListCreate(&testingAllocator, cmp_int));
   1.149 +    CxList *list = autofree(cxPointerLinkedListCreate(&testingAllocator, cx_cmp_int));
   1.150      verifyAdd(list, true);
   1.151  }
   1.152  
   1.153  TEST_F(LinkedList, cxListInsert) {
   1.154 -    verifyInsert(autofree(cxLinkedListCreate(&testingAllocator, cmp_int, sizeof(int))));
   1.155 +    verifyInsert(autofree(cxLinkedListCreate(&testingAllocator, cx_cmp_int, sizeof(int))));
   1.156  }
   1.157  
   1.158  TEST_F(PointerLinkedList, cxListInsert) {
   1.159 -    verifyInsert(autofree(cxPointerLinkedListCreate(&testingAllocator, cmp_int)));
   1.160 +    verifyInsert(autofree(cxPointerLinkedListCreate(&testingAllocator, cx_cmp_int)));
   1.161  }
   1.162  
   1.163  TEST_F(LinkedList, cxListRemove) {
   1.164 @@ -858,13 +849,13 @@
   1.165  
   1.166  TEST_F(LinkedList, InsertViaIterator) {
   1.167      int fivenums[] = {0, 1, 2, 3, 4, 5};
   1.168 -    CxList *list = autofree(cxLinkedListFromArray(&testingAllocator, cmp_int, sizeof(int), 5, fivenums));
   1.169 +    CxList *list = autofree(cxLinkedListFromArray(&testingAllocator, cx_cmp_int, sizeof(int), 5, fivenums));
   1.170      verifyInsertViaIterator(list);
   1.171  }
   1.172  
   1.173  TEST_F(PointerLinkedList, InsertViaIterator) {
   1.174      int fivenums[] = {0, 1, 2, 3, 4, 5};
   1.175 -    CxList *list = autofree(cxPointerLinkedListCreate(&testingAllocator, cmp_int));
   1.176 +    CxList *list = autofree(cxPointerLinkedListCreate(&testingAllocator, cx_cmp_int));
   1.177      cx_for_n (i, 5) cxListAdd(list, &fivenums[i]);
   1.178      verifyInsertViaIterator(list);
   1.179  }
   1.180 @@ -903,7 +894,7 @@
   1.181  
   1.182  TEST_F(PointerLinkedList, NoDestructor) {
   1.183      void *item = cxMalloc(&testingAllocator, sizeof(int));
   1.184 -    auto list = cxPointerLinkedListCreate(cxDefaultAllocator, cmp_int);
   1.185 +    auto list = cxPointerLinkedListCreate(cxDefaultAllocator, cx_cmp_int);
   1.186      cxListAdd(list, item);
   1.187      ASSERT_FALSE(testingAllocator.verify());
   1.188      cxListDestroy(list);
   1.189 @@ -914,7 +905,7 @@
   1.190  
   1.191  TEST_F(PointerLinkedList, SimpleDestructor) {
   1.192      int item = 0;
   1.193 -    auto list = cxPointerLinkedListCreate(cxDefaultAllocator, cmp_int);
   1.194 +    auto list = cxPointerLinkedListCreate(cxDefaultAllocator, cx_cmp_int);
   1.195      list->content_destructor_type = CX_DESTRUCTOR_SIMPLE;
   1.196      list->simple_destructor = [](void *elem) { *(int *) elem = 42; };
   1.197      cxListAdd(list, &item);
   1.198 @@ -924,7 +915,7 @@
   1.199  
   1.200  TEST_F(PointerLinkedList, AdvancedDestructor) {
   1.201      void *item = cxMalloc(&testingAllocator, sizeof(int));
   1.202 -    auto list = cxPointerLinkedListCreate(cxDefaultAllocator, cmp_int);
   1.203 +    auto list = cxPointerLinkedListCreate(cxDefaultAllocator, cx_cmp_int);
   1.204      list->content_destructor_type = CX_DESTRUCTOR_ADVANCED;
   1.205      list->advanced_destructor.data = &testingAllocator;
   1.206      list->advanced_destructor.func = (cx_destructor_func2) cxFree;

mercurial