simplifies some linked list tests

Tue, 28 Dec 2021 18:05:14 +0100

author
Mike Becker <universe@uap-core.de>
date
Tue, 28 Dec 2021 18:05:14 +0100
changeset 492
188942a7308b
parent 491
6d538177f746
child 493
e3469b497eff

simplifies some linked list tests

test/test_list.c file | annotate | diff | comparison | revisions
     1.1 --- a/test/test_list.c	Tue Dec 28 17:49:52 2021 +0100
     1.2 +++ b/test/test_list.c	Tue Dec 28 18:05:14 2021 +0100
     1.3 @@ -30,7 +30,7 @@
     1.4  #include "test_config.h"
     1.5  #include "util_allocator.h"
     1.6  
     1.7 -int cmp_int(
     1.8 +int cmp_int_impl(
     1.9          int const *l,
    1.10          int const *r
    1.11  ) {
    1.12 @@ -38,6 +38,8 @@
    1.13      return left == right ? 0 : (left < right ? -1 : 1);
    1.14  }
    1.15  
    1.16 +#define cmp_int ((CxListComparator) cmp_int_impl)
    1.17 +
    1.18  struct node {
    1.19      struct node *next;
    1.20      struct node *prev;
    1.21 @@ -132,22 +134,22 @@
    1.22  
    1.23      s = 2;
    1.24      CU_ASSERT_EQUAL(cx_linked_list_find(list, loc_next, loc_data,
    1.25 -                                        false, (CxListComparator) cmp_int, &s), 0)
    1.26 +                                        false, cmp_int, &s), 0)
    1.27      s = 4;
    1.28      CU_ASSERT_EQUAL(cx_linked_list_find(list, loc_next, loc_data,
    1.29 -                                        false, (CxListComparator) cmp_int, &s), 1)
    1.30 +                                        false, cmp_int, &s), 1)
    1.31      s = 6;
    1.32      CU_ASSERT_EQUAL(cx_linked_list_find(list, loc_next, loc_data,
    1.33 -                                        false, (CxListComparator) cmp_int, &s), 2)
    1.34 +                                        false, cmp_int, &s), 2)
    1.35      s = 8;
    1.36      CU_ASSERT_EQUAL(cx_linked_list_find(list, loc_next, loc_data,
    1.37 -                                        false, (CxListComparator) cmp_int, &s), 3)
    1.38 +                                        false, cmp_int, &s), 3)
    1.39      s = 10;
    1.40      CU_ASSERT_EQUAL(cx_linked_list_find(list, loc_next, loc_data,
    1.41 -                                        false, (CxListComparator) cmp_int, &s), 4)
    1.42 +                                        false, cmp_int, &s), 4)
    1.43      s = -2;
    1.44      CU_ASSERT_EQUAL(cx_linked_list_find(list, loc_next, loc_data,
    1.45 -                                        false, (CxListComparator) cmp_int, &s), 4)
    1.46 +                                        false, cmp_int, &s), 4)
    1.47  }
    1.48  
    1.49  void test_linked_list_compare(void) {
    1.50 @@ -160,19 +162,19 @@
    1.51      void *lc = create_test_data(4, c);
    1.52  
    1.53      CU_ASSERT_TRUE(0 < cx_linked_list_compare(la, lb, loc_next, loc_data,
    1.54 -                                              false, (CxListComparator) cmp_int)
    1.55 +                                              false, cmp_int)
    1.56      )
    1.57      CU_ASSERT_TRUE(0 > cx_linked_list_compare(lb, la, loc_next, loc_data,
    1.58 -                                              false, (CxListComparator) cmp_int)
    1.59 +                                              false, cmp_int)
    1.60      )
    1.61      CU_ASSERT_TRUE(0 < cx_linked_list_compare(lc, la, loc_next, loc_data,
    1.62 -                                              false, (CxListComparator) cmp_int)
    1.63 +                                              false, cmp_int)
    1.64      )
    1.65      CU_ASSERT_TRUE(0 > cx_linked_list_compare(la, lc, loc_next, loc_data,
    1.66 -                                              false, (CxListComparator) cmp_int)
    1.67 +                                              false, cmp_int)
    1.68      )
    1.69      CU_ASSERT_TRUE(0 == cx_linked_list_compare(la, la, loc_next, loc_data,
    1.70 -                                               false, (CxListComparator) cmp_int)
    1.71 +                                               false, cmp_int)
    1.72      )
    1.73  
    1.74      destroy_test_data(la);
    1.75 @@ -512,7 +514,7 @@
    1.76      void *end = cx_linked_list_last(begin, loc_next);
    1.77  
    1.78      cx_linked_list_sort(&begin, &end, loc_prev, loc_next, loc_data,
    1.79 -                        false, (CxListComparator) cmp_int);
    1.80 +                        false, cmp_int);
    1.81  
    1.82      struct node *check = begin;
    1.83      struct node *check_last = NULL;
    1.84 @@ -549,7 +551,7 @@
    1.85      CU_ASSERT_PTR_EQUAL(end, list)
    1.86      CU_ASSERT_PTR_EQUAL(begin, cx_linked_list_first(end, loc_prev))
    1.87      CU_ASSERT_TRUE(0 == cx_linked_list_compare(begin, expected, loc_next, loc_data,
    1.88 -                                               0, (CxListComparator) cmp_int))
    1.89 +                                               0, cmp_int))
    1.90  
    1.91      destroy_test_data(begin);
    1.92      destroy_test_data(expected);
    1.93 @@ -558,7 +560,7 @@
    1.94  void test_hl_linked_list_create(void) {
    1.95      cxTestingAllocatorReset();
    1.96  
    1.97 -    CxList list = cxLinkedListCreate(cxTestingAllocator, (CxListComparator) cmp_int, sizeof(int));
    1.98 +    CxList list = cxLinkedListCreate(cxTestingAllocator, cmp_int, sizeof(int));
    1.99  
   1.100      CU_ASSERT_EQUAL(list->size, 0)
   1.101      CU_ASSERT_EQUAL(list->capacity, (size_t) -1)
   1.102 @@ -575,10 +577,10 @@
   1.103  
   1.104      int data[] = {2, 4, 5, 7, 10, 15};
   1.105  
   1.106 -    CxList expected = cxLinkedListCreate(cxTestingAllocator, (CxListComparator) cmp_int, sizeof(int));
   1.107 +    CxList expected = cxLinkedListCreate(cxTestingAllocator, cmp_int, sizeof(int));
   1.108      for (int i = 0; i < 5; i++) cxListAdd(expected, &data[i]);
   1.109  
   1.110 -    CxList list = cxLinkedListFromArray(cxTestingAllocator, (CxListComparator) cmp_int, sizeof(int), 5, data);
   1.111 +    CxList list = cxLinkedListFromArray(cxTestingAllocator, cmp_int, sizeof(int), 5, data);
   1.112  
   1.113      CU_ASSERT_TRUE(0 == cxListCompare(list, expected))
   1.114  
   1.115 @@ -591,7 +593,7 @@
   1.116      cxTestingAllocatorReset();
   1.117  
   1.118      int data;
   1.119 -    CxList list = cxLinkedListCreate(cxTestingAllocator, (CxListComparator) cmp_int, sizeof(int));
   1.120 +    CxList list = cxLinkedListCreate(cxTestingAllocator, cmp_int, sizeof(int));
   1.121  
   1.122      data = 5;
   1.123      CU_ASSERT_EQUAL(cxListAdd(list, &data), 0)
   1.124 @@ -603,11 +605,12 @@
   1.125      CU_ASSERT_EQUAL(list->size, 3)
   1.126      CU_ASSERT_TRUE(list->capacity >= list->size)
   1.127  
   1.128 -    CU_ASSERT_EQUAL(*(int *) cxListAt(list, 0), 5)
   1.129 -    CU_ASSERT_EQUAL(*(int *) cxListAt(list, 1), 47)
   1.130 -    CU_ASSERT_EQUAL(*(int *) cxListAt(list, 2), 13)
   1.131 +    int exp[] = {5, 47, 13};
   1.132 +    CxList expected = cxLinkedListFromArray(cxTestingAllocator, cmp_int, sizeof(int), 3, exp);
   1.133 +    CU_ASSERT_TRUE(0 == cxListCompare(list, expected))
   1.134  
   1.135      cxLinkedListDestroy(list);
   1.136 +    cxLinkedListDestroy(expected);
   1.137      CU_ASSERT_TRUE(cxTestingAllocatorVerify())
   1.138  }
   1.139  
   1.140 @@ -615,7 +618,7 @@
   1.141      cxTestingAllocatorReset();
   1.142  
   1.143      int data;
   1.144 -    CxList list = cxLinkedListCreate(cxTestingAllocator, (CxListComparator) cmp_int, sizeof(int));
   1.145 +    CxList list = cxLinkedListCreate(cxTestingAllocator, cmp_int, sizeof(int));
   1.146  
   1.147      data = 5;
   1.148      CU_ASSERT_NOT_EQUAL(cxListInsert(list, 1, &data), 0)
   1.149 @@ -634,29 +637,21 @@
   1.150      CU_ASSERT_EQUAL(list->size, 4)
   1.151      CU_ASSERT_TRUE(list->capacity >= list->size)
   1.152  
   1.153 -    CU_ASSERT_EQUAL(*(int *) cxListAt(list, 0), 47)
   1.154 -    CU_ASSERT_EQUAL(*(int *) cxListAt(list, 1), 13)
   1.155 -    CU_ASSERT_EQUAL(*(int *) cxListAt(list, 2), 5)
   1.156 -    CU_ASSERT_EQUAL(*(int *) cxListAt(list, 3), 42)
   1.157 +    int exp[] = {47, 13, 5, 42};
   1.158 +    CxList expected = cxLinkedListFromArray(cxTestingAllocator, cmp_int, sizeof(int), 4, exp);
   1.159 +    CU_ASSERT_TRUE(0 == cxListCompare(list, expected))
   1.160  
   1.161      cxLinkedListDestroy(list);
   1.162 +    cxLinkedListDestroy(expected);
   1.163      CU_ASSERT_TRUE(cxTestingAllocatorVerify())
   1.164  }
   1.165  
   1.166  void test_hl_linked_list_remove(void) {
   1.167      cxTestingAllocatorReset();
   1.168  
   1.169 -    int data;
   1.170 -    CxList list = cxLinkedListCreate(cxTestingAllocator, (CxListComparator) cmp_int, sizeof(int));
   1.171 -
   1.172 -    data = 5;
   1.173 -    cxListAdd(list, &data);
   1.174 -    data = 47;
   1.175 -    cxListAdd(list, &data);
   1.176 -    data = 42;
   1.177 -    cxListAdd(list, &data);
   1.178 -    data = 13;
   1.179 -    cxListAdd(list, &data);
   1.180 +    int data[] = {5, 47, 42, 13};
   1.181 +    CxList list = cxLinkedListFromArray(cxTestingAllocator, cmp_int,
   1.182 +                                        sizeof(int), 4, data);
   1.183  
   1.184      CU_ASSERT_EQUAL(list->size, 4)
   1.185      CU_ASSERT_TRUE(list->capacity >= list->size)
   1.186 @@ -694,19 +689,13 @@
   1.187  void test_hl_linked_list_at(void) {
   1.188      cxTestingAllocatorReset();
   1.189  
   1.190 -    CxList list = cxLinkedListCreate(cxTestingAllocator, (CxListComparator) cmp_int, sizeof(int));
   1.191 +    int data[] = {5, 47, 13};
   1.192 +    CxList list = cxLinkedListFromArray(cxTestingAllocator, cmp_int,
   1.193 +                                        sizeof(int), 3, data);
   1.194  
   1.195 -    int data;
   1.196 -    data = 5;
   1.197 -    cxListAdd(list, &data);
   1.198 -    data = 47;
   1.199 -    cxListAdd(list, &data);
   1.200 -    data = 13;
   1.201 -    cxListAdd(list, &data);
   1.202 -
   1.203 -    CU_ASSERT_EQUAL(*(int*)cxListAt(list, 0), 5)
   1.204 -    CU_ASSERT_EQUAL(*(int*)cxListAt(list, 1), 47)
   1.205 -    CU_ASSERT_EQUAL(*(int*)cxListAt(list, 2), 13)
   1.206 +    CU_ASSERT_EQUAL(*(int *) cxListAt(list, 0), 5)
   1.207 +    CU_ASSERT_EQUAL(*(int *) cxListAt(list, 1), 47)
   1.208 +    CU_ASSERT_EQUAL(*(int *) cxListAt(list, 2), 13)
   1.209      CU_ASSERT_PTR_NULL(cxListAt(list, 3))
   1.210  
   1.211      cxLinkedListDestroy(list);
   1.212 @@ -716,19 +705,14 @@
   1.213  void test_hl_linked_list_find(void) {
   1.214      cxTestingAllocatorReset();
   1.215  
   1.216 -    int data, criteria;
   1.217 -    CxList list = cxLinkedListCreate(cxTestingAllocator, (CxListComparator) cmp_int, sizeof(int));
   1.218 -
   1.219 -    data = 5;
   1.220 -    cxListAdd(list, &data);
   1.221 -    data = 47;
   1.222 -    cxListAdd(list, &data);
   1.223 -    data = 13;
   1.224 -    cxListAdd(list, &data);
   1.225 -
   1.226 +    int data[] = {5, 47, 13};
   1.227 +    CxList list = cxLinkedListFromArray(cxTestingAllocator, cmp_int,
   1.228 +                                        sizeof(int), 3, data);
   1.229      CU_ASSERT_EQUAL(list->size, 3)
   1.230      CU_ASSERT_TRUE(list->capacity >= list->size)
   1.231  
   1.232 +    int criteria;
   1.233 +
   1.234      criteria = 5;
   1.235      CU_ASSERT_EQUAL(cxListFind(list, &criteria), 0)
   1.236      criteria = 47;
   1.237 @@ -764,26 +748,21 @@
   1.238  
   1.239      cxTestingAllocatorReset();
   1.240  
   1.241 -    CxList list = cxLinkedListCreate(cxTestingAllocator, (CxListComparator) cmp_int, sizeof(int));
   1.242 -
   1.243 -    for (int i = 0; i < 100; i++) {
   1.244 -        cxListAdd(list, &scrambled[i]);
   1.245 -    }
   1.246 +    CxList list = cxLinkedListFromArray(cxTestingAllocator, cmp_int, sizeof(int), 100, scrambled);
   1.247 +    CxList exp = cxLinkedListFromArray(cxTestingAllocator, cmp_int, sizeof(int), 100, expected);
   1.248  
   1.249      cxListSort(list);
   1.250 -
   1.251 -    for (int i = 0; i < 100; i++) {
   1.252 -        CU_ASSERT_EQUAL(*(int *) cxListAt(list, i), expected[i])
   1.253 -    }
   1.254 +    CU_ASSERT_TRUE(0 == cxListCompare(list, exp))
   1.255  
   1.256      cxLinkedListDestroy(list);
   1.257 +    cxLinkedListDestroy(exp);
   1.258      CU_ASSERT_TRUE(cxTestingAllocatorVerify())
   1.259  }
   1.260  
   1.261  void test_hl_ptr_linked_list_create(void) {
   1.262      cxTestingAllocatorReset();
   1.263  
   1.264 -    CxList list = cxPointerLinkedListCreate(cxTestingAllocator, (CxListComparator) cmp_int);
   1.265 +    CxList list = cxPointerLinkedListCreate(cxTestingAllocator, cmp_int);
   1.266  
   1.267      CU_ASSERT_EQUAL(list->size, 0)
   1.268      CU_ASSERT_EQUAL(list->capacity, (size_t) -1)
   1.269 @@ -798,7 +777,7 @@
   1.270  void test_hl_ptr_linked_list_add(void) {
   1.271      cxTestingAllocatorReset();
   1.272  
   1.273 -    CxList list = cxPointerLinkedListCreate(cxTestingAllocator, (CxListComparator) cmp_int);
   1.274 +    CxList list = cxPointerLinkedListCreate(cxTestingAllocator, cmp_int);
   1.275  
   1.276      int a = 5, b = 47, c = 13;
   1.277  
   1.278 @@ -828,7 +807,7 @@
   1.279  void test_hl_ptr_linked_list_insert(void) {
   1.280      cxTestingAllocatorReset();
   1.281  
   1.282 -    CxList list = cxPointerLinkedListCreate(cxTestingAllocator, (CxListComparator) cmp_int);
   1.283 +    CxList list = cxPointerLinkedListCreate(cxTestingAllocator, cmp_int);
   1.284  
   1.285      int a = 5, b = 47, c = 13, d = 42;
   1.286  
   1.287 @@ -858,7 +837,7 @@
   1.288      cxTestingAllocatorReset();
   1.289  
   1.290      int a = 5, b = 47, c = 42, d = 13;
   1.291 -    CxList list = cxPointerLinkedListCreate(cxTestingAllocator, (CxListComparator) cmp_int);
   1.292 +    CxList list = cxPointerLinkedListCreate(cxTestingAllocator, cmp_int);
   1.293  
   1.294      cxListAdd(list, &a);
   1.295      cxListAdd(list, &b);
   1.296 @@ -901,7 +880,7 @@
   1.297  void test_hl_ptr_linked_list_at(void) {
   1.298      cxTestingAllocatorReset();
   1.299  
   1.300 -    CxList list = cxPointerLinkedListCreate(cxTestingAllocator, (CxListComparator) cmp_int);
   1.301 +    CxList list = cxPointerLinkedListCreate(cxTestingAllocator, cmp_int);
   1.302  
   1.303      int a = 5, b = 47, c = 13;
   1.304      cxListAdd(list, &a);
   1.305 @@ -921,7 +900,7 @@
   1.306      cxTestingAllocatorReset();
   1.307  
   1.308      int a = 5, b = 47, c = 13, criteria;
   1.309 -    CxList list = cxPointerLinkedListCreate(cxTestingAllocator, (CxListComparator) cmp_int);
   1.310 +    CxList list = cxPointerLinkedListCreate(cxTestingAllocator, cmp_int);
   1.311  
   1.312      cxListAdd(list, &a);
   1.313      cxListAdd(list, &b);
   1.314 @@ -967,7 +946,7 @@
   1.315  
   1.316      cxTestingAllocatorReset();
   1.317  
   1.318 -    CxList list = cxPointerLinkedListCreate(cxTestingAllocator, (CxListComparator) cmp_int);
   1.319 +    CxList list = cxPointerLinkedListCreate(cxTestingAllocator, cmp_int);
   1.320  
   1.321      for (int i = 0; i < 100; i++) {
   1.322          cxListAdd(list, &scrambled[i]);

mercurial