Sun, 22 Dec 2024 22:10:04 +0100
don't trust that size_t always has word width
it should be the case on all platforms supported by UCX, but it's not strictly defined in POSIX that it must be the case
798
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1 | /* |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
3 | * |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
4 | * Copyright 2023 Mike Becker, Olaf Wintermann All rights reserved. |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
5 | * |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
6 | * Redistribution and use in source and binary forms, with or without |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
7 | * modification, are permitted provided that the following conditions are met: |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
8 | * |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
9 | * 1. Redistributions of source code must retain the above copyright |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
10 | * notice, this list of conditions and the following disclaimer. |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
11 | * |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
12 | * 2. Redistributions in binary form must reproduce the above copyright |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
13 | * notice, this list of conditions and the following disclaimer in the |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
14 | * documentation and/or other materials provided with the distribution. |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
15 | * |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
17 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
18 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
19 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
20 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
21 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
22 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
23 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
24 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
25 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
26 | * POSSIBILITY OF SUCH DAMAGE. |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
27 | */ |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
28 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
29 | #include "cx/test.h" |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
30 | #include "util_allocator.h" |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
31 | #include "cx/compare.h" |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
32 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
33 | #include "cx/array_list.h" |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
34 | #include "cx/linked_list.h" |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
35 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
36 | #include <stdarg.h> |
998
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
37 | #include <errno.h> |
798
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
38 | |
818
2be8fe3d5a2d
add cx_array_add() + fix type of cx_array_default_reallocator
Mike Becker <universe@uap-core.de>
parents:
807
diff
changeset
|
39 | CX_TEST(test_array_add) { |
986
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
40 | CX_ARRAY_DECLARE(int, arr); |
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
41 | arr = calloc(5, sizeof(int)); |
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
42 | arr[0] = 2; |
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
43 | arr[1] = 3; |
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
44 | arr[2] = 5; |
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
45 | arr[3] = 7; |
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
46 | arr[4] = 11; |
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
47 | arr_size = 3; |
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
48 | arr_capacity = 5; |
818
2be8fe3d5a2d
add cx_array_add() + fix type of cx_array_default_reallocator
Mike Becker <universe@uap-core.de>
parents:
807
diff
changeset
|
49 | int elem = 8, elem2 = 47; |
986
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
50 | int result; |
818
2be8fe3d5a2d
add cx_array_add() + fix type of cx_array_default_reallocator
Mike Becker <universe@uap-core.de>
parents:
807
diff
changeset
|
51 | CX_TEST_DO { |
986
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
52 | result = cx_array_simple_add(arr, elem); |
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
53 | CX_TEST_ASSERT(result == 0); |
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
54 | CX_TEST_ASSERT(arr[0] == 2); |
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
55 | CX_TEST_ASSERT(arr[1] == 3); |
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
56 | CX_TEST_ASSERT(arr[2] == 5); |
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
57 | CX_TEST_ASSERT(arr[3] == 8); |
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
58 | CX_TEST_ASSERT(arr[4] == 11); |
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
59 | CX_TEST_ASSERT(arr_size == 4); |
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
60 | CX_TEST_ASSERT(arr_capacity == 5); |
818
2be8fe3d5a2d
add cx_array_add() + fix type of cx_array_default_reallocator
Mike Becker <universe@uap-core.de>
parents:
807
diff
changeset
|
61 | |
986
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
62 | arr_size = 5; |
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
63 | result = cx_array_simple_add(arr, elem2); |
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
64 | CX_TEST_ASSERT(result == 0); |
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
65 | CX_TEST_ASSERT(arr[0] == 2); |
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
66 | CX_TEST_ASSERT(arr[1] == 3); |
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
67 | CX_TEST_ASSERT(arr[2] == 5); |
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
68 | CX_TEST_ASSERT(arr[3] == 8); |
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
69 | CX_TEST_ASSERT(arr[4] == 11); |
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
70 | CX_TEST_ASSERT(arr[5] == 47); |
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
71 | CX_TEST_ASSERT(arr_size == 6); |
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
72 | CX_TEST_ASSERT(arr_capacity >= 6); |
818
2be8fe3d5a2d
add cx_array_add() + fix type of cx_array_default_reallocator
Mike Becker <universe@uap-core.de>
parents:
807
diff
changeset
|
73 | } |
986
38fa7e41194c
simplify cx_array_copy() - fixes #474
Mike Becker <universe@uap-core.de>
parents:
985
diff
changeset
|
74 | free(arr); |
818
2be8fe3d5a2d
add cx_array_add() + fix type of cx_array_default_reallocator
Mike Becker <universe@uap-core.de>
parents:
807
diff
changeset
|
75 | } |
2be8fe3d5a2d
add cx_array_add() + fix type of cx_array_default_reallocator
Mike Becker <universe@uap-core.de>
parents:
807
diff
changeset
|
76 | |
998
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
77 | CX_TEST(test_array_add8) { |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
78 | CX_ARRAY_DECLARE_SIZED(int, arr, uint8_t); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
79 | arr = calloc(5, sizeof(int)); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
80 | arr[0] = 2; |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
81 | arr[1] = 3; |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
82 | arr[2] = 5; |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
83 | arr[3] = 7; |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
84 | arr[4] = 11; |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
85 | arr_size = 3; |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
86 | arr_capacity = 5; |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
87 | int elem = 8, elem2 = 47; |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
88 | int result; |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
89 | CX_TEST_DO { |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
90 | result = cx_array_simple_add(arr, elem); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
91 | CX_TEST_ASSERT(result == 0); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
92 | CX_TEST_ASSERT(arr[0] == 2); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
93 | CX_TEST_ASSERT(arr[1] == 3); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
94 | CX_TEST_ASSERT(arr[2] == 5); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
95 | CX_TEST_ASSERT(arr[3] == 8); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
96 | CX_TEST_ASSERT(arr[4] == 11); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
97 | CX_TEST_ASSERT(arr_size == 4); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
98 | CX_TEST_ASSERT(arr_capacity == 5); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
99 | |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
100 | arr_size = 5; |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
101 | result = cx_array_simple_add(arr, elem2); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
102 | CX_TEST_ASSERT(result == 0); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
103 | CX_TEST_ASSERT(arr[0] == 2); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
104 | CX_TEST_ASSERT(arr[1] == 3); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
105 | CX_TEST_ASSERT(arr[2] == 5); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
106 | CX_TEST_ASSERT(arr[3] == 8); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
107 | CX_TEST_ASSERT(arr[4] == 11); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
108 | CX_TEST_ASSERT(arr[5] == 47); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
109 | CX_TEST_ASSERT(arr_size == 6); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
110 | CX_TEST_ASSERT(arr_capacity >= 6); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
111 | |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
112 | result = cx_array_simple_copy(arr, 260, &elem, 1); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
113 | CX_TEST_ASSERT(result != 0); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
114 | CX_TEST_ASSERT(errno == EOVERFLOW); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
115 | CX_TEST_ASSERT(arr_size == 6); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
116 | CX_TEST_ASSERT(arr_capacity < 128); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
117 | } |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
118 | free(arr); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
119 | } |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
120 | |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
121 | CX_TEST(test_array_copy_unsupported_width) { |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
122 | CX_ARRAY_DECLARE_SIZED(int, arr, uint16_t); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
123 | cx_array_initialize(arr, 16); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
124 | int result; |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
125 | CX_TEST_DO { |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
126 | int elem = 5; |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
127 | result = cx_array_copy( |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
128 | (void **) &(arr), |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
129 | &(arr_size), |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
130 | &(arr_capacity), |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
131 | 12, // unsupported width |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
132 | 5, |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
133 | &elem, sizeof(int), |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
134 | 1, |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
135 | cx_array_default_reallocator |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
136 | ); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
137 | CX_TEST_ASSERT(result != 0); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
138 | CX_TEST_ASSERT(errno == EINVAL); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
139 | CX_TEST_ASSERT(arr_size == 0); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
140 | CX_TEST_ASSERT(arr_capacity == 16); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
141 | } |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
142 | free(arr); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
143 | } |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
144 | |
999
84fc42b04d3b
add cx_array_reserve() and several more array convenience functions
Mike Becker <universe@uap-core.de>
parents:
998
diff
changeset
|
145 | CX_TEST(test_array_reserve) { |
84fc42b04d3b
add cx_array_reserve() and several more array convenience functions
Mike Becker <universe@uap-core.de>
parents:
998
diff
changeset
|
146 | CX_ARRAY_DECLARE_SIZED(int, arr, uint16_t); |
84fc42b04d3b
add cx_array_reserve() and several more array convenience functions
Mike Becker <universe@uap-core.de>
parents:
998
diff
changeset
|
147 | cx_array_initialize(arr, 16); |
84fc42b04d3b
add cx_array_reserve() and several more array convenience functions
Mike Becker <universe@uap-core.de>
parents:
998
diff
changeset
|
148 | arr_size = 5; |
84fc42b04d3b
add cx_array_reserve() and several more array convenience functions
Mike Becker <universe@uap-core.de>
parents:
998
diff
changeset
|
149 | int result; |
84fc42b04d3b
add cx_array_reserve() and several more array convenience functions
Mike Becker <universe@uap-core.de>
parents:
998
diff
changeset
|
150 | CX_TEST_DO { |
84fc42b04d3b
add cx_array_reserve() and several more array convenience functions
Mike Becker <universe@uap-core.de>
parents:
998
diff
changeset
|
151 | result = cx_array_simple_reserve(arr, 3); |
84fc42b04d3b
add cx_array_reserve() and several more array convenience functions
Mike Becker <universe@uap-core.de>
parents:
998
diff
changeset
|
152 | CX_TEST_ASSERT(result == 0); |
84fc42b04d3b
add cx_array_reserve() and several more array convenience functions
Mike Becker <universe@uap-core.de>
parents:
998
diff
changeset
|
153 | CX_TEST_ASSERT(arr_size == 5); |
84fc42b04d3b
add cx_array_reserve() and several more array convenience functions
Mike Becker <universe@uap-core.de>
parents:
998
diff
changeset
|
154 | CX_TEST_ASSERT(arr_capacity == 16); |
84fc42b04d3b
add cx_array_reserve() and several more array convenience functions
Mike Becker <universe@uap-core.de>
parents:
998
diff
changeset
|
155 | |
84fc42b04d3b
add cx_array_reserve() and several more array convenience functions
Mike Becker <universe@uap-core.de>
parents:
998
diff
changeset
|
156 | result = cx_array_simple_reserve(arr, 20); |
84fc42b04d3b
add cx_array_reserve() and several more array convenience functions
Mike Becker <universe@uap-core.de>
parents:
998
diff
changeset
|
157 | CX_TEST_ASSERT(result == 0); |
84fc42b04d3b
add cx_array_reserve() and several more array convenience functions
Mike Becker <universe@uap-core.de>
parents:
998
diff
changeset
|
158 | CX_TEST_ASSERT(arr_size == 5); |
84fc42b04d3b
add cx_array_reserve() and several more array convenience functions
Mike Becker <universe@uap-core.de>
parents:
998
diff
changeset
|
159 | CX_TEST_ASSERT(arr_capacity >= 25); |
84fc42b04d3b
add cx_array_reserve() and several more array convenience functions
Mike Becker <universe@uap-core.de>
parents:
998
diff
changeset
|
160 | } |
84fc42b04d3b
add cx_array_reserve() and several more array convenience functions
Mike Becker <universe@uap-core.de>
parents:
998
diff
changeset
|
161 | free(arr); |
84fc42b04d3b
add cx_array_reserve() and several more array convenience functions
Mike Becker <universe@uap-core.de>
parents:
998
diff
changeset
|
162 | } |
84fc42b04d3b
add cx_array_reserve() and several more array convenience functions
Mike Becker <universe@uap-core.de>
parents:
998
diff
changeset
|
163 | |
883
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
164 | CX_TEST(test_array_insert_sorted) { |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
165 | int d1 = 50; |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
166 | int d2 = 80; |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
167 | int d3 = 60; |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
168 | int d4 = 40; |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
169 | int d5 = 70; |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
170 | int d6a[6] = {52, 54, 56, 62, 64, 75}; |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
171 | int d7a[6] = {51, 57, 58, 65, 77, 78}; |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
172 | int d8 = 90; |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
173 | int expected[18] = { |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
174 | 40, 50, 51, 52, 54, 56, 57, 58, 60, |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
175 | 62, 64, 65, 70, 75, 77, 78, 80, 90 |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
176 | }; |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
177 | |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
178 | CX_ARRAY_DECLARE(int, array); |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
179 | cx_array_initialize(array, 4); |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
180 | |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
181 | CX_TEST_DO { |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
182 | CX_TEST_ASSERT(0 == cx_array_simple_add_sorted(array, d1, cx_cmp_int)); |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
183 | CX_TEST_ASSERT(array_size == 1); |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
184 | CX_TEST_ASSERT(array_capacity == 4); |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
185 | CX_TEST_ASSERT(0 == cx_array_simple_add_sorted(array, d2, cx_cmp_int)); |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
186 | CX_TEST_ASSERT(array_size == 2); |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
187 | CX_TEST_ASSERT(array_capacity == 4); |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
188 | CX_TEST_ASSERT(0 == cx_array_simple_add_sorted(array, d3, cx_cmp_int)); |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
189 | CX_TEST_ASSERT(array_size == 3); |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
190 | CX_TEST_ASSERT(array_capacity == 4); |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
191 | CX_TEST_ASSERT(0 == cx_array_simple_add_sorted(array, d4, cx_cmp_int)); |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
192 | CX_TEST_ASSERT(array_size == 4); |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
193 | CX_TEST_ASSERT(array_capacity == 4); |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
194 | CX_TEST_ASSERT(0 == cx_array_simple_add_sorted(array, d5, cx_cmp_int)); |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
195 | CX_TEST_ASSERT(array_size == 5); |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
196 | CX_TEST_ASSERT(array_capacity >= 5); |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
197 | CX_TEST_ASSERT(0 == cx_array_simple_insert_sorted(array, d6a, 6, cx_cmp_int)); |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
198 | CX_TEST_ASSERT(array_size == 11); |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
199 | CX_TEST_ASSERT(array_capacity >= 11); |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
200 | CX_TEST_ASSERT(0 == cx_array_simple_insert_sorted(array, d7a, 6, cx_cmp_int)); |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
201 | CX_TEST_ASSERT(array_size == 17); |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
202 | CX_TEST_ASSERT(array_capacity >= 17); |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
203 | CX_TEST_ASSERT(0 == cx_array_simple_add_sorted(array, d8, cx_cmp_int)); |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
204 | CX_TEST_ASSERT(array_size == 18); |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
205 | CX_TEST_ASSERT(array_capacity >= 18); |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
206 | |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
207 | CX_TEST_ASSERT(0 == memcmp(array, expected, 18 * sizeof(int))); |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
208 | } |
912
9533fc293aea
fix missing free() in test_array_insert_sorted
Mike Becker <universe@uap-core.de>
parents:
890
diff
changeset
|
209 | free(array); |
883
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
210 | } |
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
211 | |
884
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
212 | CX_TEST(test_array_binary_search) { |
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
213 | int array[18] = { |
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
214 | 40, 50, 51, 52, 54, 56, 57, 58, 60, |
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
215 | 62, 64, 65, 70, 75, 77, 78, 80, 90 |
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
216 | }; |
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
217 | |
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
218 | CX_TEST_DO { |
962
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
219 | for (size_t i = 0; i < 18; i++) { |
884
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
220 | CX_TEST_ASSERT(i == cx_array_binary_search(array, 18, sizeof(int), &array[i], cx_cmp_int)); |
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
221 | } |
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
222 | |
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
223 | int s = 58; |
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
224 | CX_TEST_ASSERT(7 == cx_array_binary_search_inf(array, 18, sizeof(int), &s, cx_cmp_int)); |
886
5f5514bb104b
also add a binary search for the supremum
Mike Becker <universe@uap-core.de>
parents:
885
diff
changeset
|
225 | CX_TEST_ASSERT(7 == cx_array_binary_search_sup(array, 18, sizeof(int), &s, cx_cmp_int)); |
884
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
226 | s = 60; |
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
227 | CX_TEST_ASSERT(8 == cx_array_binary_search_inf(array, 18, sizeof(int), &s, cx_cmp_int)); |
886
5f5514bb104b
also add a binary search for the supremum
Mike Becker <universe@uap-core.de>
parents:
885
diff
changeset
|
228 | CX_TEST_ASSERT(8 == cx_array_binary_search_sup(array, 18, sizeof(int), &s, cx_cmp_int)); |
884
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
229 | s = 59; |
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
230 | CX_TEST_ASSERT(7 == cx_array_binary_search_inf(array, 18, sizeof(int), &s, cx_cmp_int)); |
886
5f5514bb104b
also add a binary search for the supremum
Mike Becker <universe@uap-core.de>
parents:
885
diff
changeset
|
231 | CX_TEST_ASSERT(8 == cx_array_binary_search_sup(array, 18, sizeof(int), &s, cx_cmp_int)); |
884
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
232 | CX_TEST_ASSERT(18 == cx_array_binary_search(array, 18, sizeof(int), &s, cx_cmp_int)); |
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
233 | s = 79; |
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
234 | CX_TEST_ASSERT(15 == cx_array_binary_search_inf(array, 18, sizeof(int), &s, cx_cmp_int)); |
886
5f5514bb104b
also add a binary search for the supremum
Mike Becker <universe@uap-core.de>
parents:
885
diff
changeset
|
235 | CX_TEST_ASSERT(16 == cx_array_binary_search_sup(array, 18, sizeof(int), &s, cx_cmp_int)); |
884
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
236 | CX_TEST_ASSERT(18 == cx_array_binary_search(array, 18, sizeof(int), &s, cx_cmp_int)); |
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
237 | s = 66; |
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
238 | CX_TEST_ASSERT(11 == cx_array_binary_search_inf(array, 18, sizeof(int), &s, cx_cmp_int)); |
886
5f5514bb104b
also add a binary search for the supremum
Mike Becker <universe@uap-core.de>
parents:
885
diff
changeset
|
239 | CX_TEST_ASSERT(12 == cx_array_binary_search_sup(array, 18, sizeof(int), &s, cx_cmp_int)); |
884
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
240 | CX_TEST_ASSERT(18 == cx_array_binary_search(array, 18, sizeof(int), &s, cx_cmp_int)); |
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
241 | s = 69; |
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
242 | CX_TEST_ASSERT(11 == cx_array_binary_search_inf(array, 18, sizeof(int), &s, cx_cmp_int)); |
886
5f5514bb104b
also add a binary search for the supremum
Mike Becker <universe@uap-core.de>
parents:
885
diff
changeset
|
243 | CX_TEST_ASSERT(12 == cx_array_binary_search_sup(array, 18, sizeof(int), &s, cx_cmp_int)); |
884
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
244 | CX_TEST_ASSERT(18 == cx_array_binary_search(array, 18, sizeof(int), &s, cx_cmp_int)); |
885
878a450e79bd
fixes incorrect result from cx_array_binary_search() when searched element is smaller than the entire array
Mike Becker <universe@uap-core.de>
parents:
884
diff
changeset
|
245 | s = 95; |
878a450e79bd
fixes incorrect result from cx_array_binary_search() when searched element is smaller than the entire array
Mike Becker <universe@uap-core.de>
parents:
884
diff
changeset
|
246 | CX_TEST_ASSERT(17 == cx_array_binary_search_inf(array, 18, sizeof(int), &s, cx_cmp_int)); |
886
5f5514bb104b
also add a binary search for the supremum
Mike Becker <universe@uap-core.de>
parents:
885
diff
changeset
|
247 | CX_TEST_ASSERT(18 == cx_array_binary_search_sup(array, 18, sizeof(int), &s, cx_cmp_int)); |
885
878a450e79bd
fixes incorrect result from cx_array_binary_search() when searched element is smaller than the entire array
Mike Becker <universe@uap-core.de>
parents:
884
diff
changeset
|
248 | CX_TEST_ASSERT(18 == cx_array_binary_search(array, 18, sizeof(int), &s, cx_cmp_int)); |
878a450e79bd
fixes incorrect result from cx_array_binary_search() when searched element is smaller than the entire array
Mike Becker <universe@uap-core.de>
parents:
884
diff
changeset
|
249 | s = 30; |
878a450e79bd
fixes incorrect result from cx_array_binary_search() when searched element is smaller than the entire array
Mike Becker <universe@uap-core.de>
parents:
884
diff
changeset
|
250 | CX_TEST_ASSERT(18 == cx_array_binary_search_inf(array, 18, sizeof(int), &s, cx_cmp_int)); |
886
5f5514bb104b
also add a binary search for the supremum
Mike Becker <universe@uap-core.de>
parents:
885
diff
changeset
|
251 | CX_TEST_ASSERT(0 == cx_array_binary_search_sup(array, 18, sizeof(int), &s, cx_cmp_int)); |
885
878a450e79bd
fixes incorrect result from cx_array_binary_search() when searched element is smaller than the entire array
Mike Becker <universe@uap-core.de>
parents:
884
diff
changeset
|
252 | CX_TEST_ASSERT(18 == cx_array_binary_search(array, 18, sizeof(int), &s, cx_cmp_int)); |
1022
2911c1f4a570
add shortcut to binary search when array size is one
Mike Becker <universe@uap-core.de>
parents:
999
diff
changeset
|
253 | |
2911c1f4a570
add shortcut to binary search when array size is one
Mike Becker <universe@uap-core.de>
parents:
999
diff
changeset
|
254 | // special case - size 0 |
2911c1f4a570
add shortcut to binary search when array size is one
Mike Becker <universe@uap-core.de>
parents:
999
diff
changeset
|
255 | s = 40; |
2911c1f4a570
add shortcut to binary search when array size is one
Mike Becker <universe@uap-core.de>
parents:
999
diff
changeset
|
256 | CX_TEST_ASSERT(0 == cx_array_binary_search_inf(array, 0, sizeof(int), &s, cx_cmp_int)); |
2911c1f4a570
add shortcut to binary search when array size is one
Mike Becker <universe@uap-core.de>
parents:
999
diff
changeset
|
257 | CX_TEST_ASSERT(0 == cx_array_binary_search_sup(array, 0, sizeof(int), &s, cx_cmp_int)); |
2911c1f4a570
add shortcut to binary search when array size is one
Mike Becker <universe@uap-core.de>
parents:
999
diff
changeset
|
258 | CX_TEST_ASSERT(0 == cx_array_binary_search(array, 0, sizeof(int), &s, cx_cmp_int)); |
2911c1f4a570
add shortcut to binary search when array size is one
Mike Becker <universe@uap-core.de>
parents:
999
diff
changeset
|
259 | |
2911c1f4a570
add shortcut to binary search when array size is one
Mike Becker <universe@uap-core.de>
parents:
999
diff
changeset
|
260 | // special case - size 1, searched element is smaller |
2911c1f4a570
add shortcut to binary search when array size is one
Mike Becker <universe@uap-core.de>
parents:
999
diff
changeset
|
261 | s = 30; |
2911c1f4a570
add shortcut to binary search when array size is one
Mike Becker <universe@uap-core.de>
parents:
999
diff
changeset
|
262 | CX_TEST_ASSERT(1 == cx_array_binary_search_inf(array, 1, sizeof(int), &s, cx_cmp_int)); |
2911c1f4a570
add shortcut to binary search when array size is one
Mike Becker <universe@uap-core.de>
parents:
999
diff
changeset
|
263 | CX_TEST_ASSERT(0 == cx_array_binary_search_sup(array, 1, sizeof(int), &s, cx_cmp_int)); |
2911c1f4a570
add shortcut to binary search when array size is one
Mike Becker <universe@uap-core.de>
parents:
999
diff
changeset
|
264 | CX_TEST_ASSERT(1 == cx_array_binary_search(array, 1, sizeof(int), &s, cx_cmp_int)); |
2911c1f4a570
add shortcut to binary search when array size is one
Mike Becker <universe@uap-core.de>
parents:
999
diff
changeset
|
265 | |
2911c1f4a570
add shortcut to binary search when array size is one
Mike Becker <universe@uap-core.de>
parents:
999
diff
changeset
|
266 | // special case - size 1, searched element is larger |
2911c1f4a570
add shortcut to binary search when array size is one
Mike Becker <universe@uap-core.de>
parents:
999
diff
changeset
|
267 | s = 50; |
2911c1f4a570
add shortcut to binary search when array size is one
Mike Becker <universe@uap-core.de>
parents:
999
diff
changeset
|
268 | CX_TEST_ASSERT(0 == cx_array_binary_search_inf(array, 1, sizeof(int), &s, cx_cmp_int)); |
2911c1f4a570
add shortcut to binary search when array size is one
Mike Becker <universe@uap-core.de>
parents:
999
diff
changeset
|
269 | CX_TEST_ASSERT(1 == cx_array_binary_search_sup(array, 1, sizeof(int), &s, cx_cmp_int)); |
2911c1f4a570
add shortcut to binary search when array size is one
Mike Becker <universe@uap-core.de>
parents:
999
diff
changeset
|
270 | CX_TEST_ASSERT(1 == cx_array_binary_search(array, 1, sizeof(int), &s, cx_cmp_int)); |
2911c1f4a570
add shortcut to binary search when array size is one
Mike Becker <universe@uap-core.de>
parents:
999
diff
changeset
|
271 | |
2911c1f4a570
add shortcut to binary search when array size is one
Mike Becker <universe@uap-core.de>
parents:
999
diff
changeset
|
272 | // special case - size 1, element matches |
2911c1f4a570
add shortcut to binary search when array size is one
Mike Becker <universe@uap-core.de>
parents:
999
diff
changeset
|
273 | s = 40; |
2911c1f4a570
add shortcut to binary search when array size is one
Mike Becker <universe@uap-core.de>
parents:
999
diff
changeset
|
274 | CX_TEST_ASSERT(0 == cx_array_binary_search_inf(array, 1, sizeof(int), &s, cx_cmp_int)); |
2911c1f4a570
add shortcut to binary search when array size is one
Mike Becker <universe@uap-core.de>
parents:
999
diff
changeset
|
275 | CX_TEST_ASSERT(0 == cx_array_binary_search_sup(array, 1, sizeof(int), &s, cx_cmp_int)); |
2911c1f4a570
add shortcut to binary search when array size is one
Mike Becker <universe@uap-core.de>
parents:
999
diff
changeset
|
276 | CX_TEST_ASSERT(0 == cx_array_binary_search(array, 1, sizeof(int), &s, cx_cmp_int)); |
884
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
277 | } |
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
278 | } |
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
279 | |
798
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
280 | typedef struct node { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
281 | struct node *next; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
282 | struct node *prev; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
283 | int data; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
284 | } node; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
285 | |
961
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
286 | static int test_cmp_node(const void *l, const void *r) { |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
287 | const node *left = l; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
288 | const node *right = r; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
289 | return left->data - right->data; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
290 | } |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
291 | |
798
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
292 | const ptrdiff_t loc_prev = offsetof(struct node, prev); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
293 | const ptrdiff_t loc_next = offsetof(struct node, next); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
294 | const ptrdiff_t loc_data = offsetof(struct node, data); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
295 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
296 | static node *create_nodes_test_data(size_t len) { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
297 | node *begin = calloc(1, sizeof(node)); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
298 | void *prev = begin; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
299 | for (size_t i = 1; i < len; i++) { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
300 | node *n = calloc(1, sizeof(node)); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
301 | cx_linked_list_link(prev, n, loc_prev, loc_next); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
302 | prev = n; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
303 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
304 | return begin; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
305 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
306 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
307 | void assign_nodes_test_data(node *n, ...) { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
308 | va_list ap; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
309 | va_start(ap, n); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
310 | while (n != NULL) { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
311 | n->data = va_arg(ap, int); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
312 | n = n->next; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
313 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
314 | va_end(ap); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
315 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
316 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
317 | static void destroy_nodes_test_data(node *n) { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
318 | while (n != NULL) { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
319 | void *next = n->next; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
320 | free(n); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
321 | n = next; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
322 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
323 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
324 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
325 | static int *int_test_data(size_t len) { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
326 | int *data = malloc(len*sizeof(int)); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
327 | for (size_t i = 0 ; i < len ; i++) { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
328 | data[i] = rand(); // NOLINT(*-msc50-cpp) |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
329 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
330 | return data; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
331 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
332 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
333 | CX_TEST(test_linked_list_link_unlink) { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
334 | node a = {0}, b = {0}, c = {0}; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
335 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
336 | CX_TEST_DO { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
337 | cx_linked_list_link(&a, &b, loc_prev, loc_next); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
338 | CX_TEST_ASSERT(a.prev == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
339 | CX_TEST_ASSERT(a.next == &b); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
340 | CX_TEST_ASSERT(b.prev == &a); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
341 | CX_TEST_ASSERT(b.next == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
342 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
343 | cx_linked_list_unlink(&a, &b, loc_prev, loc_next); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
344 | CX_TEST_ASSERT(a.prev == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
345 | CX_TEST_ASSERT(a.next == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
346 | CX_TEST_ASSERT(b.prev == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
347 | CX_TEST_ASSERT(b.next == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
348 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
349 | cx_linked_list_link(&b, &c, loc_prev, loc_next); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
350 | cx_linked_list_link(&a, &b, loc_prev, loc_next); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
351 | cx_linked_list_unlink(&b, &c, loc_prev, loc_next); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
352 | CX_TEST_ASSERT(a.prev == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
353 | CX_TEST_ASSERT(a.next == &b); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
354 | CX_TEST_ASSERT(b.prev == &a); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
355 | CX_TEST_ASSERT(b.next == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
356 | CX_TEST_ASSERT(c.prev == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
357 | CX_TEST_ASSERT(c.next == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
358 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
359 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
360 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
361 | CX_TEST(test_linked_list_at) { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
362 | node a = {0}, b = {0}, c = {0}, d = {0}; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
363 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
364 | cx_linked_list_link(&a, &b, loc_prev, loc_next); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
365 | cx_linked_list_link(&b, &c, loc_prev, loc_next); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
366 | cx_linked_list_link(&c, &d, loc_prev, loc_next); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
367 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
368 | CX_TEST_DO { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
369 | CX_TEST_ASSERT(cx_linked_list_at(&a, 0, loc_next, 0) == &a); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
370 | CX_TEST_ASSERT(cx_linked_list_at(&a, 0, loc_next, 1) == &b); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
371 | CX_TEST_ASSERT(cx_linked_list_at(&a, 0, loc_next, 2) == &c); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
372 | CX_TEST_ASSERT(cx_linked_list_at(&a, 0, loc_next, 3) == &d); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
373 | CX_TEST_ASSERT(cx_linked_list_at(&a, 0, loc_next, 4) == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
374 | CX_TEST_ASSERT(cx_linked_list_at(&b, 1, loc_prev, 0) == &a); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
375 | CX_TEST_ASSERT(cx_linked_list_at(&b, 1, loc_next, 1) == &b); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
376 | CX_TEST_ASSERT(cx_linked_list_at(&b, 1, loc_next, 2) == &c); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
377 | CX_TEST_ASSERT(cx_linked_list_at(&b, 1, loc_next, 3) == &d); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
378 | CX_TEST_ASSERT(cx_linked_list_at(&b, 1, loc_next, 4) == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
379 | CX_TEST_ASSERT(cx_linked_list_at(&d, 3, loc_prev, 0) == &a); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
380 | CX_TEST_ASSERT(cx_linked_list_at(&d, 3, loc_prev, 1) == &b); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
381 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
382 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
383 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
384 | CX_TEST(test_linked_list_find) { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
385 | void *list = create_nodes_test_data(4); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
386 | assign_nodes_test_data(list, 2, 4, 6, 8); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
387 | CX_TEST_DO { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
388 | int s; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
389 | s = 2; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
390 | CX_TEST_ASSERT(cx_linked_list_find(list, loc_next, loc_data, cx_cmp_int, &s) == 0); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
391 | s = 4; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
392 | CX_TEST_ASSERT(cx_linked_list_find(list, loc_next, loc_data, cx_cmp_int, &s) == 1); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
393 | s = 6; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
394 | CX_TEST_ASSERT(cx_linked_list_find(list, loc_next, loc_data, cx_cmp_int, &s) == 2); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
395 | s = 8; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
396 | CX_TEST_ASSERT(cx_linked_list_find(list, loc_next, loc_data, cx_cmp_int, &s) == 3); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
397 | s = 10; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
398 | CX_TEST_ASSERT(cx_linked_list_find(list, loc_next, loc_data, cx_cmp_int, &s) < 0); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
399 | s = -2; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
400 | CX_TEST_ASSERT(cx_linked_list_find(list, loc_next, loc_data, cx_cmp_int, &s) < 0); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
401 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
402 | destroy_nodes_test_data(list); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
403 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
404 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
405 | CX_TEST(test_linked_list_compare) { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
406 | void *la = create_nodes_test_data(4); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
407 | void *lb = create_nodes_test_data(3); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
408 | void *lc = create_nodes_test_data(4); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
409 | assign_nodes_test_data(la, 2, 4, 6, 8); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
410 | assign_nodes_test_data(lb, 2, 4, 6); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
411 | assign_nodes_test_data(lc, 2, 4, 6, 9); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
412 | CX_TEST_DO { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
413 | CX_TEST_ASSERT(cx_linked_list_compare(la, lb, loc_next, loc_data, cx_cmp_int) > 0); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
414 | CX_TEST_ASSERT(cx_linked_list_compare(lb, la, loc_next, loc_data, cx_cmp_int) < 0); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
415 | CX_TEST_ASSERT(cx_linked_list_compare(lc, la, loc_next, loc_data, cx_cmp_int) > 0); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
416 | CX_TEST_ASSERT(cx_linked_list_compare(la, lc, loc_next, loc_data, cx_cmp_int) < 0); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
417 | CX_TEST_ASSERT(cx_linked_list_compare(la, la, loc_next, loc_data, cx_cmp_int) == 0); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
418 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
419 | destroy_nodes_test_data(la); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
420 | destroy_nodes_test_data(lb); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
421 | destroy_nodes_test_data(lc); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
422 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
423 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
424 | CX_TEST(test_linked_list_add) { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
425 | node nodes[4]; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
426 | void *begin, *end; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
427 | CX_TEST_DO { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
428 | // test with begin, end / prev, next |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
429 | memset(nodes, 0, sizeof(node)*4); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
430 | end = begin = NULL; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
431 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
432 | cx_linked_list_add(&begin, &end, loc_prev, loc_next, &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
433 | CX_TEST_ASSERT(begin == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
434 | CX_TEST_ASSERT(end == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
435 | CX_TEST_ASSERT(nodes[0].prev == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
436 | CX_TEST_ASSERT(nodes[0].next == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
437 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
438 | cx_linked_list_add(&begin, &end, loc_prev, loc_next, &nodes[1]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
439 | CX_TEST_ASSERT(begin == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
440 | CX_TEST_ASSERT(end == &nodes[1]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
441 | CX_TEST_ASSERT(nodes[0].next == &nodes[1]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
442 | CX_TEST_ASSERT(nodes[1].prev == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
443 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
444 | // test with begin only / prev, next |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
445 | memset(nodes, 0, sizeof(node)*4); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
446 | end = begin = NULL; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
447 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
448 | cx_linked_list_add(&begin, NULL, loc_prev, loc_next, &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
449 | CX_TEST_ASSERT(begin == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
450 | cx_linked_list_add(&begin, NULL, loc_prev, loc_next, &nodes[1]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
451 | CX_TEST_ASSERT(begin == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
452 | CX_TEST_ASSERT(nodes[0].next == &nodes[1]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
453 | CX_TEST_ASSERT(nodes[1].prev == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
454 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
455 | cx_linked_list_add(&begin, NULL, loc_prev, loc_next, &nodes[2]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
456 | CX_TEST_ASSERT(nodes[1].next == &nodes[2]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
457 | CX_TEST_ASSERT(nodes[2].prev == &nodes[1]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
458 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
459 | // test with end only / prev, next |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
460 | memset(nodes, 0, sizeof(node)*4); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
461 | end = begin = NULL; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
462 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
463 | cx_linked_list_add(NULL, &end, loc_prev, loc_next, &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
464 | CX_TEST_ASSERT(end == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
465 | cx_linked_list_add(NULL, &end, loc_prev, loc_next, &nodes[1]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
466 | CX_TEST_ASSERT(end == &nodes[1]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
467 | CX_TEST_ASSERT(nodes[0].next == &nodes[1]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
468 | CX_TEST_ASSERT(nodes[1].prev == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
469 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
470 | cx_linked_list_add(NULL, &end, loc_prev, loc_next, &nodes[2]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
471 | CX_TEST_ASSERT(end == &nodes[2]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
472 | CX_TEST_ASSERT(nodes[1].next == &nodes[2]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
473 | CX_TEST_ASSERT(nodes[2].prev == &nodes[1]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
474 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
475 | // test with begin, end / next |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
476 | memset(nodes, 0, sizeof(node)*4); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
477 | end = begin = NULL; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
478 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
479 | cx_linked_list_add(&begin, &end, -1, loc_next, &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
480 | CX_TEST_ASSERT(begin == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
481 | CX_TEST_ASSERT(end == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
482 | cx_linked_list_add(&begin, &end, -1, loc_next, &nodes[1]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
483 | CX_TEST_ASSERT(end == &nodes[1]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
484 | CX_TEST_ASSERT(nodes[0].next == &nodes[1]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
485 | CX_TEST_ASSERT(nodes[1].prev == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
486 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
487 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
488 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
489 | CX_TEST(test_linked_list_prepend) { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
490 | node nodes[4]; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
491 | void *begin, *end; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
492 | CX_TEST_DO { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
493 | // test with begin, end / prev, next |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
494 | memset(nodes, 0, sizeof(node) * 4); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
495 | end = begin = NULL; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
496 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
497 | cx_linked_list_prepend(&begin, &end, loc_prev, loc_next, &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
498 | CX_TEST_ASSERT(begin == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
499 | CX_TEST_ASSERT(end == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
500 | CX_TEST_ASSERT(nodes[0].prev == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
501 | CX_TEST_ASSERT(nodes[0].next == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
502 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
503 | cx_linked_list_prepend(&begin, &end, loc_prev, loc_next, &nodes[1]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
504 | CX_TEST_ASSERT(begin == &nodes[1]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
505 | CX_TEST_ASSERT(end == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
506 | CX_TEST_ASSERT(nodes[1].next == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
507 | CX_TEST_ASSERT(nodes[0].prev == &nodes[1]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
508 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
509 | // test with begin only / prev, next |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
510 | memset(nodes, 0, sizeof(node) * 4); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
511 | end = begin = NULL; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
512 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
513 | cx_linked_list_prepend(&begin, NULL, loc_prev, loc_next, &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
514 | CX_TEST_ASSERT(begin == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
515 | cx_linked_list_prepend(&begin, NULL, loc_prev, loc_next, &nodes[1]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
516 | CX_TEST_ASSERT(begin == &nodes[1]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
517 | CX_TEST_ASSERT(nodes[1].next == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
518 | CX_TEST_ASSERT(nodes[0].prev == &nodes[1]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
519 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
520 | cx_linked_list_prepend(&begin, NULL, loc_prev, loc_next, &nodes[2]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
521 | CX_TEST_ASSERT(begin == &nodes[2]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
522 | CX_TEST_ASSERT(nodes[2].next == &nodes[1]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
523 | CX_TEST_ASSERT(nodes[1].prev == &nodes[2]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
524 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
525 | // test with end only / prev, next |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
526 | memset(nodes, 0, sizeof(node) * 4); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
527 | end = begin = NULL; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
528 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
529 | cx_linked_list_prepend(NULL, &end, loc_prev, loc_next, &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
530 | CX_TEST_ASSERT(end == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
531 | cx_linked_list_prepend(NULL, &end, loc_prev, loc_next, &nodes[1]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
532 | CX_TEST_ASSERT(end == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
533 | CX_TEST_ASSERT(nodes[1].next == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
534 | CX_TEST_ASSERT(nodes[0].prev == &nodes[1]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
535 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
536 | cx_linked_list_prepend(NULL, &end, loc_prev, loc_next, &nodes[2]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
537 | CX_TEST_ASSERT(end == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
538 | CX_TEST_ASSERT(nodes[2].next == &nodes[1]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
539 | CX_TEST_ASSERT(nodes[1].prev == &nodes[2]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
540 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
541 | // test with begin, end / next |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
542 | memset(nodes, 0, sizeof(node) * 4); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
543 | end = begin = NULL; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
544 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
545 | cx_linked_list_prepend(&begin, &end, -1, loc_next, &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
546 | CX_TEST_ASSERT(begin == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
547 | CX_TEST_ASSERT(end == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
548 | cx_linked_list_prepend(&begin, &end, -1, loc_next, &nodes[1]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
549 | cx_linked_list_prepend(&begin, &end, -1, loc_next, &nodes[2]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
550 | CX_TEST_ASSERT(begin == &nodes[2]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
551 | CX_TEST_ASSERT(end == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
552 | CX_TEST_ASSERT(nodes[1].next == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
553 | CX_TEST_ASSERT(nodes[2].next == &nodes[1]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
554 | CX_TEST_ASSERT(nodes[1].prev == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
555 | CX_TEST_ASSERT(nodes[0].prev == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
556 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
557 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
558 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
559 | CX_TEST(test_linked_list_insert) { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
560 | node nodes[4]; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
561 | void *begin, *end; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
562 | CX_TEST_DO { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
563 | // insert mid list |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
564 | memset(nodes, 0, sizeof(node) * 4); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
565 | begin = &nodes[0]; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
566 | end = &nodes[2]; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
567 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
568 | cx_linked_list_link(&nodes[0], &nodes[1], loc_prev, loc_next); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
569 | cx_linked_list_link(&nodes[1], &nodes[2], loc_prev, loc_next); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
570 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
571 | cx_linked_list_insert(&begin, &end, loc_prev, loc_next, &nodes[1], &nodes[3]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
572 | CX_TEST_ASSERT(begin == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
573 | CX_TEST_ASSERT(end == &nodes[2]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
574 | CX_TEST_ASSERT(nodes[1].next == &nodes[3]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
575 | CX_TEST_ASSERT(nodes[2].prev == &nodes[3]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
576 | CX_TEST_ASSERT(nodes[3].prev == &nodes[1]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
577 | CX_TEST_ASSERT(nodes[3].next == &nodes[2]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
578 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
579 | // insert end |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
580 | memset(nodes, 0, sizeof(node) * 4); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
581 | begin = &nodes[0]; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
582 | end = &nodes[2]; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
583 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
584 | cx_linked_list_link(&nodes[0], &nodes[1], loc_prev, loc_next); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
585 | cx_linked_list_link(&nodes[1], &nodes[2], loc_prev, loc_next); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
586 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
587 | cx_linked_list_insert(&begin, &end, loc_prev, loc_next, &nodes[2], &nodes[3]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
588 | CX_TEST_ASSERT(begin == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
589 | CX_TEST_ASSERT(end == &nodes[3]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
590 | CX_TEST_ASSERT(nodes[2].next == &nodes[3]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
591 | CX_TEST_ASSERT(nodes[3].prev == &nodes[2]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
592 | CX_TEST_ASSERT(nodes[3].next == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
593 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
594 | // insert begin |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
595 | memset(nodes, 0, sizeof(node) * 4); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
596 | begin = &nodes[0]; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
597 | end = &nodes[2]; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
598 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
599 | cx_linked_list_link(&nodes[0], &nodes[1], loc_prev, loc_next); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
600 | cx_linked_list_link(&nodes[1], &nodes[2], loc_prev, loc_next); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
601 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
602 | cx_linked_list_insert(&begin, &end, loc_prev, loc_next, NULL, &nodes[3]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
603 | CX_TEST_ASSERT(begin == &nodes[3]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
604 | CX_TEST_ASSERT(end == &nodes[2]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
605 | CX_TEST_ASSERT(nodes[0].prev == &nodes[3]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
606 | CX_TEST_ASSERT(nodes[3].prev == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
607 | CX_TEST_ASSERT(nodes[3].next == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
608 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
609 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
610 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
611 | CX_TEST(test_linked_list_insert_chain) { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
612 | node nodes[5]; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
613 | void *begin, *end; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
614 | CX_TEST_DO { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
615 | // insert mid list |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
616 | memset(nodes, 0, sizeof(node) * 5); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
617 | begin = &nodes[0]; end = &nodes[2]; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
618 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
619 | cx_linked_list_link(&nodes[0], &nodes[1], loc_prev, loc_next); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
620 | cx_linked_list_link(&nodes[1], &nodes[2], loc_prev, loc_next); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
621 | cx_linked_list_link(&nodes[3], &nodes[4], loc_prev, loc_next); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
622 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
623 | cx_linked_list_insert_chain(&begin, &end, loc_prev, loc_next, &nodes[1], &nodes[3], NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
624 | CX_TEST_ASSERT(begin == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
625 | CX_TEST_ASSERT(end == &nodes[2]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
626 | CX_TEST_ASSERT(nodes[1].next == &nodes[3]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
627 | CX_TEST_ASSERT(nodes[2].prev == &nodes[4]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
628 | CX_TEST_ASSERT(nodes[3].prev == &nodes[1]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
629 | CX_TEST_ASSERT(nodes[4].next == &nodes[2]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
630 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
631 | // insert end |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
632 | memset(nodes, 0, sizeof(node) * 5); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
633 | begin = &nodes[0]; end = &nodes[2]; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
634 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
635 | cx_linked_list_link(&nodes[0], &nodes[1], loc_prev, loc_next); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
636 | cx_linked_list_link(&nodes[1], &nodes[2], loc_prev, loc_next); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
637 | cx_linked_list_link(&nodes[3], &nodes[4], loc_prev, loc_next); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
638 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
639 | cx_linked_list_insert_chain(&begin, &end, loc_prev, loc_next, &nodes[2], &nodes[3], NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
640 | CX_TEST_ASSERT(begin == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
641 | CX_TEST_ASSERT(end == &nodes[4]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
642 | CX_TEST_ASSERT(nodes[2].next == &nodes[3]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
643 | CX_TEST_ASSERT(nodes[3].prev == &nodes[2]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
644 | CX_TEST_ASSERT(nodes[4].next == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
645 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
646 | // insert begin |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
647 | memset(nodes, 0, sizeof(node) * 5); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
648 | begin = &nodes[0]; end = &nodes[2]; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
649 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
650 | cx_linked_list_link(&nodes[0], &nodes[1], loc_prev, loc_next); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
651 | cx_linked_list_link(&nodes[1], &nodes[2], loc_prev, loc_next); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
652 | cx_linked_list_link(&nodes[3], &nodes[4], loc_prev, loc_next); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
653 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
654 | cx_linked_list_insert_chain(&begin, &end, loc_prev, loc_next, NULL, &nodes[3], NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
655 | CX_TEST_ASSERT(begin == &nodes[3]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
656 | CX_TEST_ASSERT(end == &nodes[2]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
657 | CX_TEST_ASSERT(nodes[0].prev == &nodes[4]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
658 | CX_TEST_ASSERT(nodes[3].prev == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
659 | CX_TEST_ASSERT(nodes[4].next == &nodes[0]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
660 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
661 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
662 | |
961
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
663 | CX_TEST(test_linked_list_insert_sorted) { |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
664 | node nodes[5] = {0}; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
665 | void *begin, *end; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
666 | nodes[0].data = 3; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
667 | nodes[1].data = 6; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
668 | nodes[2].data = 10; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
669 | nodes[3].data = 11; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
670 | nodes[4].data = 15; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
671 | for (unsigned i = 0 ; i < 4 ; i++) { |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
672 | cx_linked_list_link(&nodes[i], &nodes[i+1], loc_prev, loc_next); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
673 | } |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
674 | begin = &nodes[0]; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
675 | end = &nodes[4]; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
676 | CX_TEST_DO { |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
677 | // insert a single node |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
678 | node new_node = {0}; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
679 | new_node.data = 5; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
680 | cx_linked_list_insert_sorted( |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
681 | &begin, &end, |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
682 | loc_prev, loc_next, |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
683 | &new_node, test_cmp_node |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
684 | ); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
685 | CX_TEST_ASSERT(new_node.prev == &nodes[0]); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
686 | CX_TEST_ASSERT(new_node.next == &nodes[1]); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
687 | CX_TEST_ASSERT(nodes[0].next == &new_node); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
688 | CX_TEST_ASSERT(nodes[1].prev == &new_node); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
689 | CX_TEST_ASSERT(begin == &nodes[0]); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
690 | CX_TEST_ASSERT(end == &nodes[4]); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
691 | |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
692 | // insert a new beginning node |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
693 | node new_begin = {0}; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
694 | new_begin.data = 1; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
695 | cx_linked_list_insert_sorted( |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
696 | &begin, &end, |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
697 | loc_prev, loc_next, |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
698 | &new_begin, test_cmp_node |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
699 | ); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
700 | CX_TEST_ASSERT(new_begin.prev == NULL); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
701 | CX_TEST_ASSERT(new_begin.next == &nodes[0]); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
702 | CX_TEST_ASSERT(nodes[0].prev == &new_begin); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
703 | CX_TEST_ASSERT(begin == &new_begin); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
704 | CX_TEST_ASSERT(end == &nodes[4]); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
705 | |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
706 | // now insert a chain |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
707 | node chain_start = {NULL, NULL, 8}; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
708 | node chain_mid = {NULL, NULL, 14}; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
709 | node chain_end = {NULL, NULL, 17}; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
710 | cx_linked_list_link(&chain_start, &chain_mid, loc_prev, loc_next); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
711 | cx_linked_list_link(&chain_mid, &chain_end, loc_prev, loc_next); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
712 | |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
713 | cx_linked_list_insert_sorted_chain( |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
714 | &begin, &end, |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
715 | loc_prev, loc_next, |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
716 | &chain_start, test_cmp_node |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
717 | ); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
718 | |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
719 | CX_TEST_ASSERT(chain_start.prev == &nodes[1]); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
720 | CX_TEST_ASSERT(chain_start.next == &nodes[2]); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
721 | CX_TEST_ASSERT(chain_mid.prev == &nodes[3]); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
722 | CX_TEST_ASSERT(chain_mid.next == &nodes[4]); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
723 | CX_TEST_ASSERT(chain_end.prev == &nodes[4]); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
724 | CX_TEST_ASSERT(chain_end.next == NULL); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
725 | CX_TEST_ASSERT(begin == &new_begin); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
726 | CX_TEST_ASSERT(end == &chain_end); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
727 | } |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
728 | } |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
729 | |
798
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
730 | CX_TEST(test_linked_list_first) { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
731 | node *testdata = create_nodes_test_data(3); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
732 | void *begin = testdata; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
733 | CX_TEST_DO { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
734 | CX_TEST_ASSERT(begin == cx_linked_list_first(testdata, loc_prev)); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
735 | CX_TEST_ASSERT(begin == cx_linked_list_first(testdata->next, loc_prev)); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
736 | CX_TEST_ASSERT(begin == cx_linked_list_first(testdata->next->next, loc_prev)); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
737 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
738 | destroy_nodes_test_data(testdata); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
739 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
740 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
741 | CX_TEST(test_linked_list_last) { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
742 | node *testdata = create_nodes_test_data(3); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
743 | void *end = testdata->next->next; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
744 | CX_TEST_DO { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
745 | CX_TEST_ASSERT(end == cx_linked_list_last(testdata, loc_next)); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
746 | CX_TEST_ASSERT(end == cx_linked_list_last(testdata->next, loc_next)); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
747 | CX_TEST_ASSERT(end == cx_linked_list_last(testdata->next->next, loc_next)); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
748 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
749 | destroy_nodes_test_data(testdata); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
750 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
751 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
752 | CX_TEST(test_linked_list_prev) { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
753 | node *testdata = create_nodes_test_data(3); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
754 | CX_TEST_DO { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
755 | CX_TEST_ASSERT(cx_linked_list_prev(testdata, loc_next, testdata) == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
756 | CX_TEST_ASSERT(cx_linked_list_prev(testdata, loc_next, testdata->next) == testdata); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
757 | CX_TEST_ASSERT(cx_linked_list_prev(testdata, loc_next, testdata->next->next) == testdata->next); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
758 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
759 | destroy_nodes_test_data(testdata); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
760 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
761 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
762 | CX_TEST(test_linked_list_remove) { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
763 | node *testdata = create_nodes_test_data(3); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
764 | assign_nodes_test_data(testdata, 2, 4, 6); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
765 | node *first = testdata; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
766 | node *second = first->next; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
767 | node *third = second->next; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
768 | void *begin = testdata; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
769 | void *end = third; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
770 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
771 | CX_TEST_DO { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
772 | cx_linked_list_remove(&begin, &end, loc_prev, loc_next, second); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
773 | CX_TEST_ASSERT(begin == first); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
774 | CX_TEST_ASSERT(end == third); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
775 | CX_TEST_ASSERT(first->prev == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
776 | CX_TEST_ASSERT(first->next == third); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
777 | CX_TEST_ASSERT(third->prev == first); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
778 | CX_TEST_ASSERT(third->next == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
779 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
780 | cx_linked_list_remove(&begin, &end, loc_prev, loc_next, third); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
781 | CX_TEST_ASSERT(begin == first); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
782 | CX_TEST_ASSERT(end == first); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
783 | CX_TEST_ASSERT(first->prev == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
784 | CX_TEST_ASSERT(first->next == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
785 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
786 | cx_linked_list_remove(&begin, &end, loc_prev, loc_next, first); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
787 | CX_TEST_ASSERT(begin == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
788 | CX_TEST_ASSERT(end == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
789 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
790 | // list is not intact anymore, we have to free nodes individually |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
791 | free(first); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
792 | free(second); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
793 | free(third); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
794 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
795 | |
961
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
796 | CX_TEST(test_linked_list_remove_chain) { |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
797 | node *testdata = create_nodes_test_data(5); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
798 | assign_nodes_test_data(testdata, 2, 4, 6, 8, 10); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
799 | void *begin = testdata; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
800 | void *end = cx_linked_list_last(testdata, loc_next); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
801 | void *orig_end = end; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
802 | // remember what we need to free |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
803 | node *kill_list[5]; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
804 | kill_list[0] = testdata; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
805 | for (unsigned i = 1 ; i < 5 ; i++) { |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
806 | kill_list[i] = kill_list[i-1]->next; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
807 | } |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
808 | |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
809 | CX_TEST_DO { |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
810 | // remove chain, but pretend that we don't have a prev pointer! |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
811 | size_t result = cx_linked_list_remove_chain( |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
812 | &begin, &end, -1, loc_next, |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
813 | cx_linked_list_at(begin, 0, loc_next, 2), |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
814 | 2 |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
815 | ); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
816 | CX_TEST_ASSERT(result == 2); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
817 | CX_TEST_ASSERT(begin == testdata); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
818 | CX_TEST_ASSERT(end == orig_end); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
819 | node *new_idx2 = cx_linked_list_at(begin, 0, loc_next, 2); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
820 | CX_TEST_ASSERT(new_idx2->data == 10); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
821 | CX_TEST_ASSERT(new_idx2->next == NULL); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
822 | // we pretended we don't have prev, so it still points to 8! |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
823 | CX_TEST_ASSERT(new_idx2->prev->data == 8); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
824 | |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
825 | // remove last elements and try to remove more than we have |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
826 | result = cx_linked_list_remove_chain( |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
827 | &begin, &end, -1, loc_next, |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
828 | cx_linked_list_at(begin, 0, loc_next, 2), |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
829 | 2 |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
830 | ); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
831 | CX_TEST_ASSERT(result == 1); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
832 | CX_TEST_ASSERT(begin == testdata); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
833 | CX_TEST_ASSERT(end == testdata->next); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
834 | CX_TEST_ASSERT(NULL == testdata->next->next); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
835 | } |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
836 | |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
837 | for (unsigned i = 0 ; i < 5 ; i++) { |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
838 | free(kill_list[i]); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
839 | } |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
840 | } |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
841 | |
798
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
842 | CX_TEST(test_linked_list_size) { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
843 | node *td5 = create_nodes_test_data(5); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
844 | node *td13 = create_nodes_test_data(13); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
845 | CX_TEST_DO { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
846 | CX_TEST_ASSERT(cx_linked_list_size(NULL, loc_next) == 0); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
847 | CX_TEST_ASSERT(cx_linked_list_size(td5, loc_next) == 5); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
848 | CX_TEST_ASSERT(cx_linked_list_size(td13, loc_next) == 13); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
849 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
850 | destroy_nodes_test_data(td5); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
851 | destroy_nodes_test_data(td13); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
852 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
853 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
854 | CX_TEST(test_linked_list_sort_empty) { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
855 | void *begin = NULL; |
799 | 856 | CX_TEST_DO { |
857 | // cannot assert something, we can just test that it does not crash | |
858 | cx_linked_list_sort(&begin, NULL, loc_prev, loc_next, loc_data, cx_cmp_int); | |
859 | CX_TEST_ASSERT(true); | |
860 | } | |
798
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
861 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
862 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
863 | CX_TEST(test_linked_list_sort) { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
864 | const size_t len = 1500; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
865 | int *testdata = int_test_data(len); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
866 | void *scrambled = create_nodes_test_data(len); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
867 | node *n = scrambled; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
868 | for (size_t i = 0; i < len; i++) { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
869 | n->data = testdata[i]; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
870 | n = n->next; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
871 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
872 | int *sorted = malloc(len*sizeof(int)); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
873 | memcpy(sorted, testdata, len*sizeof(int)); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
874 | qsort(sorted, len, sizeof(int), cx_cmp_int); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
875 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
876 | void *begin = scrambled; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
877 | void *end = cx_linked_list_last(begin, loc_next); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
878 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
879 | CX_TEST_DO { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
880 | cx_linked_list_sort(&begin, &end, loc_prev, loc_next, loc_data, cx_cmp_int); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
881 | node *check = begin; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
882 | node *check_last = NULL; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
883 | for (size_t i = 0; i < len; i++) { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
884 | CX_TEST_ASSERT(check->data == sorted[i]); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
885 | CX_TEST_ASSERT(check->prev == check_last); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
886 | if (i < len - 1) { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
887 | CX_TEST_ASSERT(check->next != NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
888 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
889 | check_last = check; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
890 | check = check->next; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
891 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
892 | CX_TEST_ASSERT(check == NULL); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
893 | CX_TEST_ASSERT(end == check_last); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
894 | } |
799 | 895 | destroy_nodes_test_data(begin); |
896 | free(sorted); | |
798
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
897 | free(testdata); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
898 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
899 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
900 | CX_TEST(test_linked_list_reverse) { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
901 | void *testdata = create_nodes_test_data(4); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
902 | void *expected = create_nodes_test_data(4); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
903 | assign_nodes_test_data(testdata, 2, 4, 6, 8); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
904 | assign_nodes_test_data(expected, 8, 6, 4, 2); |
799 | 905 | void *begin = testdata; |
798
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
906 | CX_TEST_DO { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
907 | void *end = cx_linked_list_last(begin, loc_next); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
908 | void *orig_begin = begin, *orig_end = end; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
909 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
910 | cx_linked_list_reverse(&begin, &end, loc_prev, loc_next); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
911 | CX_TEST_ASSERT(end == orig_begin); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
912 | CX_TEST_ASSERT(begin == orig_end); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
913 | CX_TEST_ASSERT(0 == cx_linked_list_compare(begin, expected, loc_next, loc_data, cx_cmp_int)); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
914 | } |
799 | 915 | destroy_nodes_test_data(begin); |
798
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
916 | destroy_nodes_test_data(expected); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
917 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
918 | |
800
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
919 | |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
920 | CX_TEST(test_empty_list_size) { |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
921 | CX_TEST_DO { |
856
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
922 | CX_TEST_ASSERT(cxEmptyList->collection.size == 0); |
800
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
923 | CX_TEST_ASSERT(cxListSize(cxEmptyList) == 0); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
924 | } |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
925 | } |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
926 | |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
927 | CX_TEST(test_empty_list_iterator) { |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
928 | CxList *list = cxEmptyList; |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
929 | |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
930 | CxIterator it1 = cxListIterator(list); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
931 | CxIterator it2 = cxListBackwardsIterator(list); |
853
d4baf4dd55c3
simplify iterator structures
Mike Becker <universe@uap-core.de>
parents:
850
diff
changeset
|
932 | CxIterator it3 = cxListMutIterator(list); |
d4baf4dd55c3
simplify iterator structures
Mike Becker <universe@uap-core.de>
parents:
850
diff
changeset
|
933 | CxIterator it4 = cxListMutBackwardsIterator(list); |
800
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
934 | |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
935 | CX_TEST_DO { |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
936 | CX_TEST_ASSERT(!cxIteratorValid(it1)); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
937 | CX_TEST_ASSERT(!cxIteratorValid(it2)); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
938 | CX_TEST_ASSERT(!cxIteratorValid(it3)); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
939 | CX_TEST_ASSERT(!cxIteratorValid(it4)); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
940 | |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
941 | int c = 0; |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
942 | cx_foreach(void*, data, it1) c++; |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
943 | cx_foreach(void*, data, it2) c++; |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
944 | cx_foreach(void*, data, it3) c++; |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
945 | cx_foreach(void*, data, it4) c++; |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
946 | CX_TEST_ASSERT(c == 0); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
947 | } |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
948 | } |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
949 | |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
950 | CX_TEST(test_empty_list_noops) { |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
951 | CX_TEST_DO { |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
952 | CxList copy = *cxEmptyList; |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
953 | cxListSort(cxEmptyList); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
954 | cxListClear(cxEmptyList); |
993
b642eca4b956
make names of destroy and free functions consistent - fixes #484
Mike Becker <universe@uap-core.de>
parents:
986
diff
changeset
|
955 | cxListFree(cxEmptyList); |
800
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
956 | CX_TEST_ASSERT(0 == memcmp(©, cxEmptyList, sizeof(CxList))); // NOLINT(*-suspicious-memory-comparison) |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
957 | } |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
958 | } |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
959 | |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
960 | CX_TEST(test_empty_list_at) { |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
961 | CX_TEST_DO { |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
962 | CX_TEST_ASSERT(cxListAt(cxEmptyList, 0) == NULL); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
963 | CX_TEST_ASSERT(cxListAt(cxEmptyList, 1) == NULL); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
964 | } |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
965 | } |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
966 | |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
967 | CX_TEST(test_empty_list_find) { |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
968 | int x = 42, y = 1337; |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
969 | CX_TEST_DO { |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
970 | CX_TEST_ASSERT(cxListFind(cxEmptyList, &x) < 0); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
971 | CX_TEST_ASSERT(cxListFind(cxEmptyList, &y) < 0); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
972 | } |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
973 | } |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
974 | |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
975 | CX_TEST(test_empty_list_compare) { |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
976 | CxList *empty = cxEmptyList; |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
977 | CxList *ll = cxLinkedListCreateSimple(sizeof(int)); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
978 | CxList *al = cxArrayListCreateSimple(sizeof(int), 8); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
979 | int x = 5; |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
980 | CX_TEST_DO { |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
981 | CX_TEST_ASSERT(0 == cxListCompare(empty, cxEmptyList)); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
982 | CX_TEST_ASSERT(0 == cxListCompare(ll, cxEmptyList)); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
983 | CX_TEST_ASSERT(0 == cxListCompare(al, cxEmptyList)); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
984 | CX_TEST_ASSERT(0 == cxListCompare(cxEmptyList, ll)); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
985 | CX_TEST_ASSERT(0 == cxListCompare(cxEmptyList, al)); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
986 | |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
987 | cxListAdd(ll, &x); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
988 | cxListAdd(al, &x); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
989 | |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
990 | CX_TEST_ASSERT(0 < cxListCompare(ll, cxEmptyList)); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
991 | CX_TEST_ASSERT(0 < cxListCompare(al, cxEmptyList)); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
992 | CX_TEST_ASSERT(0 > cxListCompare(cxEmptyList, ll)); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
993 | CX_TEST_ASSERT(0 > cxListCompare(cxEmptyList, al)); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
994 | } |
993
b642eca4b956
make names of destroy and free functions consistent - fixes #484
Mike Becker <universe@uap-core.de>
parents:
986
diff
changeset
|
995 | cxListFree(ll); |
b642eca4b956
make names of destroy and free functions consistent - fixes #484
Mike Becker <universe@uap-core.de>
parents:
986
diff
changeset
|
996 | cxListFree(al); |
800
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
997 | } |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
998 | |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
999 | CX_TEST(test_list_ll_create) { |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1000 | CxTestingAllocator talloc; |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1001 | cx_testing_allocator_init(&talloc); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1002 | CxAllocator *alloc = &talloc.base; |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1003 | CX_TEST_DO { |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1004 | CxList *list = cxLinkedListCreate(alloc, cx_cmp_int, sizeof(int)); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1005 | CX_TEST_ASSERT(list != NULL); |
856
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1006 | CX_TEST_ASSERT(list->collection.elem_size == sizeof(int)); |
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1007 | CX_TEST_ASSERT(list->collection.simple_destructor == NULL); |
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1008 | CX_TEST_ASSERT(list->collection.advanced_destructor == NULL); |
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1009 | CX_TEST_ASSERT(list->collection.destructor_data == NULL); |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1010 | CX_TEST_ASSERT(cxListSize(list) == 0); |
856
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1011 | CX_TEST_ASSERT(list->collection.allocator == alloc); |
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1012 | CX_TEST_ASSERT(list->collection.cmpfunc == cx_cmp_int); |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1013 | CX_TEST_ASSERT(!cxListIsStoringPointers(list)); |
993
b642eca4b956
make names of destroy and free functions consistent - fixes #484
Mike Becker <universe@uap-core.de>
parents:
986
diff
changeset
|
1014 | cxListFree(list); |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1015 | CX_TEST_ASSERT(cx_testing_allocator_verify(&talloc)); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1016 | } |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1017 | cx_testing_allocator_destroy(&talloc); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1018 | } |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1019 | |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1020 | CX_TEST(test_list_ll_create_simple) { |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1021 | CxList *list = cxLinkedListCreateSimple(sizeof(int)); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1022 | CX_TEST_DO { |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1023 | CX_TEST_ASSERT(list != NULL); |
856
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1024 | CX_TEST_ASSERT(list->collection.elem_size == sizeof(int)); |
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1025 | CX_TEST_ASSERT(list->collection.simple_destructor == NULL); |
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1026 | CX_TEST_ASSERT(list->collection.advanced_destructor == NULL); |
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1027 | CX_TEST_ASSERT(list->collection.destructor_data == NULL); |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1028 | CX_TEST_ASSERT(cxListSize(list) == 0); |
856
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1029 | CX_TEST_ASSERT(list->collection.allocator == cxDefaultAllocator); |
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1030 | CX_TEST_ASSERT(list->collection.cmpfunc == NULL); |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1031 | CX_TEST_ASSERT(!cxListIsStoringPointers(list)); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1032 | } |
993
b642eca4b956
make names of destroy and free functions consistent - fixes #484
Mike Becker <universe@uap-core.de>
parents:
986
diff
changeset
|
1033 | cxListFree(list); |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1034 | } |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1035 | |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1036 | CX_TEST(test_list_ll_store_pointers) { |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1037 | CxList *list = cxLinkedListCreateSimple(47); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1038 | CX_TEST_DO { |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1039 | CX_TEST_ASSERT(!cxListIsStoringPointers(list)); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1040 | cxListStorePointers(list); |
856
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1041 | CX_TEST_ASSERT(list->collection.elem_size == sizeof(void *)); |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1042 | CX_TEST_ASSERT(list->cl != NULL); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1043 | CX_TEST_ASSERT(list->climpl != NULL); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1044 | CX_TEST_ASSERT(cxListIsStoringPointers(list)); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1045 | cxListStoreObjects(list); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1046 | CX_TEST_ASSERT(list->cl != NULL); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1047 | CX_TEST_ASSERT(list->climpl == NULL); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1048 | CX_TEST_ASSERT(!cxListIsStoringPointers(list)); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1049 | } |
993
b642eca4b956
make names of destroy and free functions consistent - fixes #484
Mike Becker <universe@uap-core.de>
parents:
986
diff
changeset
|
1050 | cxListFree(list); |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1051 | } |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1052 | |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1053 | CX_TEST(test_list_ll_create_simple_for_pointers) { |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1054 | CxList *list = cxLinkedListCreateSimple(CX_STORE_POINTERS); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1055 | CX_TEST_DO { |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1056 | CX_TEST_ASSERT(list != NULL); |
856
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1057 | CX_TEST_ASSERT(list->collection.elem_size == sizeof(void*)); |
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1058 | CX_TEST_ASSERT(list->collection.simple_destructor == NULL); |
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1059 | CX_TEST_ASSERT(list->collection.advanced_destructor == NULL); |
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1060 | CX_TEST_ASSERT(list->collection.destructor_data == NULL); |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1061 | CX_TEST_ASSERT(cxListSize(list) == 0); |
856
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1062 | CX_TEST_ASSERT(list->collection.allocator == cxDefaultAllocator); |
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1063 | CX_TEST_ASSERT(list->collection.cmpfunc == cx_cmp_ptr); |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1064 | CX_TEST_ASSERT(cxListIsStoringPointers(list)); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1065 | } |
993
b642eca4b956
make names of destroy and free functions consistent - fixes #484
Mike Becker <universe@uap-core.de>
parents:
986
diff
changeset
|
1066 | cxListFree(list); |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1067 | } |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1068 | |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1069 | CX_TEST(test_list_arl_create) { |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1070 | CxTestingAllocator talloc; |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1071 | cx_testing_allocator_init(&talloc); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1072 | CxAllocator *alloc = &talloc.base; |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1073 | CX_TEST_DO { |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1074 | CxList *list = cxArrayListCreate(alloc, cx_cmp_int, sizeof(int), 8); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1075 | CX_TEST_ASSERT(list != NULL); |
856
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1076 | CX_TEST_ASSERT(list->collection.elem_size == sizeof(int)); |
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1077 | CX_TEST_ASSERT(list->collection.simple_destructor == NULL); |
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1078 | CX_TEST_ASSERT(list->collection.advanced_destructor == NULL); |
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1079 | CX_TEST_ASSERT(list->collection.destructor_data == NULL); |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1080 | CX_TEST_ASSERT(cxListSize(list) == 0); |
856
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1081 | CX_TEST_ASSERT(list->collection.allocator == alloc); |
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1082 | CX_TEST_ASSERT(list->collection.cmpfunc == cx_cmp_int); |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1083 | CX_TEST_ASSERT(!cxListIsStoringPointers(list)); |
993
b642eca4b956
make names of destroy and free functions consistent - fixes #484
Mike Becker <universe@uap-core.de>
parents:
986
diff
changeset
|
1084 | cxListFree(list); |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1085 | CX_TEST_ASSERT(cx_testing_allocator_verify(&talloc)); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1086 | } |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1087 | cx_testing_allocator_destroy(&talloc); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1088 | } |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1089 | |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1090 | CX_TEST(test_list_arl_create_simple) { |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1091 | CxList *list = cxArrayListCreateSimple(sizeof(int), 8); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1092 | CX_TEST_DO { |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1093 | CX_TEST_ASSERT(list != NULL); |
856
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1094 | CX_TEST_ASSERT(list->collection.elem_size == sizeof(int)); |
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1095 | CX_TEST_ASSERT(list->collection.simple_destructor == NULL); |
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1096 | CX_TEST_ASSERT(list->collection.advanced_destructor == NULL); |
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1097 | CX_TEST_ASSERT(list->collection.destructor_data == NULL); |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1098 | CX_TEST_ASSERT(cxListSize(list) == 0); |
856
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1099 | CX_TEST_ASSERT(list->collection.allocator == cxDefaultAllocator); |
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1100 | CX_TEST_ASSERT(list->collection.cmpfunc == NULL); |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1101 | CX_TEST_ASSERT(!cxListIsStoringPointers(list)); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1102 | } |
993
b642eca4b956
make names of destroy and free functions consistent - fixes #484
Mike Becker <universe@uap-core.de>
parents:
986
diff
changeset
|
1103 | cxListFree(list); |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1104 | } |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1105 | |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1106 | CX_TEST(test_list_arl_create_simple_for_pointers) { |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1107 | CxList *list = cxArrayListCreateSimple(CX_STORE_POINTERS, 8); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1108 | CX_TEST_DO { |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1109 | CX_TEST_ASSERT(list != NULL); |
856
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1110 | CX_TEST_ASSERT(list->collection.elem_size == sizeof(void*)); |
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1111 | CX_TEST_ASSERT(list->collection.simple_destructor == NULL); |
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1112 | CX_TEST_ASSERT(list->collection.advanced_destructor == NULL); |
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1113 | CX_TEST_ASSERT(list->collection.destructor_data == NULL); |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1114 | CX_TEST_ASSERT(cxListSize(list) == 0); |
856
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1115 | CX_TEST_ASSERT(list->collection.allocator == cxDefaultAllocator); |
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1116 | CX_TEST_ASSERT(list->collection.cmpfunc == cx_cmp_ptr); |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1117 | CX_TEST_ASSERT(cxListIsStoringPointers(list)); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1118 | } |
993
b642eca4b956
make names of destroy and free functions consistent - fixes #484
Mike Becker <universe@uap-core.de>
parents:
986
diff
changeset
|
1119 | cxListFree(list); |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1120 | } |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1121 | |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1122 | static void test_fake_simple_int_destr(void *elem) { |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1123 | *(int *) elem = 42; |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1124 | } |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1125 | |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1126 | CX_TEST(test_list_pll_destroy_no_destr) { |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1127 | CxTestingAllocator talloc; |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1128 | cx_testing_allocator_init(&talloc); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1129 | CxAllocator *alloc = &talloc.base; |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1130 | CX_TEST_DO { |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1131 | void *item = cxMalloc(alloc, sizeof(int)); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1132 | CxList *list = cxLinkedListCreate(cxDefaultAllocator, cx_cmp_int, CX_STORE_POINTERS); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1133 | cxListAdd(list, item); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1134 | CX_TEST_ASSERT(!cx_testing_allocator_verify(&talloc)); |
993
b642eca4b956
make names of destroy and free functions consistent - fixes #484
Mike Becker <universe@uap-core.de>
parents:
986
diff
changeset
|
1135 | cxListFree(list); |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1136 | // item is not yet freed |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1137 | CX_TEST_ASSERT(!cx_testing_allocator_verify(&talloc)); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1138 | cxFree(alloc, item); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1139 | CX_TEST_ASSERT(cx_testing_allocator_verify(&talloc)); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1140 | } |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1141 | cx_testing_allocator_destroy(&talloc); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1142 | } |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1143 | |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1144 | CX_TEST(test_list_pll_destroy_simple_destr) { |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1145 | CX_TEST_DO { |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1146 | int item = 0; |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1147 | CxList *list = cxLinkedListCreate(cxDefaultAllocator, cx_cmp_int, CX_STORE_POINTERS); |
856
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1148 | list->collection.simple_destructor = test_fake_simple_int_destr; |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1149 | cxListAdd(list, &item); |
993
b642eca4b956
make names of destroy and free functions consistent - fixes #484
Mike Becker <universe@uap-core.de>
parents:
986
diff
changeset
|
1150 | cxListFree(list); |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1151 | CX_TEST_ASSERT(item == 42); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1152 | } |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1153 | } |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1154 | |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1155 | CX_TEST(test_list_pll_destroy_adv_destr) { |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1156 | CxTestingAllocator talloc; |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1157 | cx_testing_allocator_init(&talloc); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1158 | CxAllocator *alloc = &talloc.base; |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1159 | CX_TEST_DO { |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1160 | void *item = cxMalloc(alloc, sizeof(int)); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1161 | CxList *list = cxLinkedListCreate(cxDefaultAllocator, cx_cmp_int, CX_STORE_POINTERS); |
856
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1162 | list->collection.destructor_data = alloc; |
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1163 | list->collection.advanced_destructor = (cx_destructor_func2) cxFree; |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1164 | cxListAdd(list, item); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1165 | CX_TEST_ASSERT(!cx_testing_allocator_verify(&talloc)); |
993
b642eca4b956
make names of destroy and free functions consistent - fixes #484
Mike Becker <universe@uap-core.de>
parents:
986
diff
changeset
|
1166 | cxListFree(list); |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1167 | CX_TEST_ASSERT(cx_testing_allocator_verify(&talloc)); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1168 | } |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1169 | cx_testing_allocator_destroy(&talloc); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1170 | } |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1171 | |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1172 | CX_TEST(test_list_parl_destroy_no_destr) { |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1173 | CxTestingAllocator talloc; |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1174 | cx_testing_allocator_init(&talloc); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1175 | CxAllocator *alloc = &talloc.base; |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1176 | CX_TEST_DO { |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1177 | void *item = cxMalloc(alloc, sizeof(int)); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1178 | CxList *list = cxArrayListCreate(cxDefaultAllocator, cx_cmp_int, CX_STORE_POINTERS, 4); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1179 | cxListAdd(list, item); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1180 | CX_TEST_ASSERT(!cx_testing_allocator_verify(&talloc)); |
993
b642eca4b956
make names of destroy and free functions consistent - fixes #484
Mike Becker <universe@uap-core.de>
parents:
986
diff
changeset
|
1181 | cxListFree(list); |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1182 | // item is not yet freed |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1183 | CX_TEST_ASSERT(!cx_testing_allocator_verify(&talloc)); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1184 | cxFree(alloc, item); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1185 | CX_TEST_ASSERT(cx_testing_allocator_verify(&talloc)); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1186 | } |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1187 | cx_testing_allocator_destroy(&talloc); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1188 | } |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1189 | |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1190 | CX_TEST(test_list_parl_destroy_simple_destr) { |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1191 | CX_TEST_DO { |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1192 | int item = 0; |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1193 | CxList *list = cxArrayListCreate(cxDefaultAllocator, cx_cmp_int, CX_STORE_POINTERS, 4); |
856
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1194 | list->collection.simple_destructor = test_fake_simple_int_destr; |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1195 | cxListAdd(list, &item); |
993
b642eca4b956
make names of destroy and free functions consistent - fixes #484
Mike Becker <universe@uap-core.de>
parents:
986
diff
changeset
|
1196 | cxListFree(list); |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1197 | CX_TEST_ASSERT(item == 42); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1198 | } |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1199 | } |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1200 | |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1201 | CX_TEST(test_list_parl_destroy_adv_destr) { |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1202 | CxTestingAllocator talloc; |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1203 | cx_testing_allocator_init(&talloc); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1204 | CxAllocator *alloc = &talloc.base; |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1205 | CX_TEST_DO { |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1206 | void *item = cxMalloc(alloc, sizeof(int)); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1207 | CxList *list = cxArrayListCreate(cxDefaultAllocator, cx_cmp_int, CX_STORE_POINTERS, 4); |
856
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1208 | list->collection.destructor_data = alloc; |
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1209 | list->collection.advanced_destructor = (cx_destructor_func2) cxFree; |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1210 | cxListAdd(list, item); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1211 | CX_TEST_ASSERT(!cx_testing_allocator_verify(&talloc)); |
993
b642eca4b956
make names of destroy and free functions consistent - fixes #484
Mike Becker <universe@uap-core.de>
parents:
986
diff
changeset
|
1212 | cxListFree(list); |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1213 | CX_TEST_ASSERT(cx_testing_allocator_verify(&talloc)); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1214 | } |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1215 | cx_testing_allocator_destroy(&talloc); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1216 | } |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1217 | |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1218 | #define set_up_combo \ |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1219 | CxTestingAllocator talloc; \ |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1220 | cx_testing_allocator_init(&talloc); \ |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1221 | CxAllocator *alloc = &talloc.base; \ |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1222 | CX_TEST_DO { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1223 | #define tear_down_combo \ |
993
b642eca4b956
make names of destroy and free functions consistent - fixes #484
Mike Becker <universe@uap-core.de>
parents:
986
diff
changeset
|
1224 | cxListFree(list); \ |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1225 | CX_TEST_ASSERT(cx_testing_allocator_verify(&talloc));\ |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1226 | } \ |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1227 | cx_testing_allocator_destroy(&talloc); |
875
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1228 | #define roll_out_test_invokers(name) \ |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1229 | CX_TEST(test_list_ll_##name) { \ |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1230 | set_up_combo \ |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1231 | CxList *list = cxLinkedListCreate(alloc, cx_cmp_int, sizeof(int)); \ |
807
c8d692131b1e
remove flags to disable SBO in tests - fix #343 fix #358
Mike Becker <universe@uap-core.de>
parents:
804
diff
changeset
|
1232 | CX_TEST_CALL_SUBROUTINE(test_list_verify_##name, list, false); \ |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1233 | tear_down_combo \ |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1234 | } \ |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1235 | CX_TEST(test_list_arl_##name) { \ |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1236 | set_up_combo \ |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1237 | CxList *list = cxArrayListCreate(alloc, cx_cmp_int, sizeof(int), 8); \ |
807
c8d692131b1e
remove flags to disable SBO in tests - fix #343 fix #358
Mike Becker <universe@uap-core.de>
parents:
804
diff
changeset
|
1238 | CX_TEST_CALL_SUBROUTINE(test_list_verify_##name, list, false); \ |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1239 | tear_down_combo \ |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1240 | } \ |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1241 | CX_TEST(test_list_pll_##name) { \ |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1242 | set_up_combo \ |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1243 | CxList *list = cxLinkedListCreate(alloc, cx_cmp_int, CX_STORE_POINTERS); \ |
807
c8d692131b1e
remove flags to disable SBO in tests - fix #343 fix #358
Mike Becker <universe@uap-core.de>
parents:
804
diff
changeset
|
1244 | CX_TEST_CALL_SUBROUTINE(test_list_verify_##name, list, true); \ |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1245 | tear_down_combo \ |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1246 | } \ |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1247 | CX_TEST(test_list_parl_##name) { \ |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1248 | set_up_combo \ |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1249 | CxList *list = cxArrayListCreate(alloc, cx_cmp_int, CX_STORE_POINTERS, 8); \ |
807
c8d692131b1e
remove flags to disable SBO in tests - fix #343 fix #358
Mike Becker <universe@uap-core.de>
parents:
804
diff
changeset
|
1250 | CX_TEST_CALL_SUBROUTINE(test_list_verify_##name, list, true); \ |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1251 | tear_down_combo \ |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1252 | } |
875
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1253 | #define roll_out_test_combos(name, body) \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1254 | static CX_TEST_SUBROUTINE(test_list_verify_##name, CxList *list, \ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
962
diff
changeset
|
1255 | cx_attr_unused bool isptrlist) body \ |
875
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1256 | roll_out_test_invokers(name) |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1257 | |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1258 | static void set_default_class_funcs(CxList *list, cx_list_class *defaulted_cl) { |
890
54565fd74e74
move all const keywords to the west - fixes #426
Mike Becker <universe@uap-core.de>
parents:
886
diff
changeset
|
1259 | const cx_list_class *cl = list->climpl == NULL ? list->cl : list->climpl; |
875
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1260 | memcpy(defaulted_cl, cl, sizeof(cx_list_class)); |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1261 | defaulted_cl->insert_array = cx_list_default_insert_array; |
876
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1262 | defaulted_cl->insert_sorted = cx_list_default_insert_sorted; |
875
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1263 | defaulted_cl->sort = cx_list_default_sort; |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1264 | defaulted_cl->swap = cx_list_default_swap; |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1265 | defaulted_cl->compare = NULL; |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1266 | if (list->climpl == NULL) { |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1267 | list->cl = defaulted_cl; |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1268 | } else { |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1269 | list->climpl = defaulted_cl; |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1270 | } |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1271 | } |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1272 | |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1273 | #define do_set_default_class_funcs(list) \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1274 | cx_list_class defaulted_cl; \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1275 | set_default_class_funcs(list, &defaulted_cl) |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1276 | #define roll_out_test_combos_with_defaulted_funcs(name, body) \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1277 | static CX_TEST_SUBROUTINE(test_list_verify_##name, CxList *list, \ |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
962
diff
changeset
|
1278 | cx_attr_unused bool isptrlist) body \ |
875
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1279 | roll_out_test_invokers(name) \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1280 | CX_TEST(test_list_llm_##name) { \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1281 | set_up_combo \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1282 | CxList *list = cxLinkedListCreate(alloc, cx_cmp_int, sizeof(int)); \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1283 | do_set_default_class_funcs(list); \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1284 | CX_TEST_CALL_SUBROUTINE(test_list_verify_##name, list, false); \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1285 | tear_down_combo \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1286 | } \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1287 | CX_TEST(test_list_arlm_##name) { \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1288 | set_up_combo \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1289 | CxList *list = cxArrayListCreate(alloc, cx_cmp_int, sizeof(int), 8); \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1290 | do_set_default_class_funcs(list); \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1291 | CX_TEST_CALL_SUBROUTINE(test_list_verify_##name, list, false); \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1292 | tear_down_combo \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1293 | } \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1294 | CX_TEST(test_list_pllm_##name) { \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1295 | set_up_combo \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1296 | CxList *list = cxLinkedListCreate(alloc, cx_cmp_int, CX_STORE_POINTERS); \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1297 | do_set_default_class_funcs(list); \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1298 | CX_TEST_CALL_SUBROUTINE(test_list_verify_##name, list, true); \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1299 | tear_down_combo \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1300 | } \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1301 | CX_TEST(test_list_parlm_##name) { \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1302 | set_up_combo \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1303 | CxList *list = cxArrayListCreate(alloc, cx_cmp_int, CX_STORE_POINTERS, 8); \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1304 | do_set_default_class_funcs(list); \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1305 | CX_TEST_CALL_SUBROUTINE(test_list_verify_##name, list, true); \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1306 | tear_down_combo \ |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1307 | } |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1308 | |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1309 | #define array_init(...) {__VA_ARGS__} |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1310 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1311 | static inline int *int_test_data_added_to_list(CxList *list, bool isptrlist, size_t len) { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1312 | int *testdata = int_test_data(len); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1313 | if (isptrlist) { |
962
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1314 | for (size_t i = 0; i < len; i++) { |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1315 | cxListAdd(list, &testdata[i]); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1316 | } |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1317 | } else { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1318 | cxListAddArray(list, testdata, len); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1319 | } |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1320 | return testdata; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1321 | } |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1322 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1323 | roll_out_test_combos(add, { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1324 | const size_t len = 250; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1325 | int *testdata = int_test_data(len); |
962
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1326 | for (size_t i = 0; i < len; i++) { |
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1327 | CX_TEST_ASSERT(cxListAdd(list, &testdata[i]) == 0); |
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1328 | } |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1329 | CX_TEST_ASSERT(cxListSize(list) == len); |
962
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1330 | for (size_t i = 0; i < len; i++) { |
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1331 | CX_TEST_ASSERT(*(int *) cxListAt(list, i) == testdata[i]); |
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1332 | } |
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1333 | for (size_t i = 0; i < len; i++) { |
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1334 | ++testdata[i]; |
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1335 | } |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1336 | if (isptrlist) { |
962
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1337 | for (size_t i = 0; i < len; i++) { |
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1338 | CX_TEST_ASSERT(*(int *) cxListAt(list, i) == testdata[i]); |
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1339 | } |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1340 | } else { |
962
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1341 | for (size_t i = 0; i < len; i++) { |
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1342 | CX_TEST_ASSERT(*(int *) cxListAt(list, i) == testdata[i] - 1); |
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1343 | } |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1344 | } |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1345 | free(testdata); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1346 | }) |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1347 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1348 | roll_out_test_combos(insert, { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1349 | int a = 5; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1350 | int b = 47; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1351 | int c = 13; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1352 | int d = 42; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1353 | CX_TEST_ASSERT(cxListInsert(list, 1, &a) != 0); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1354 | CX_TEST_ASSERT(cxListSize(list) == 0); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1355 | CX_TEST_ASSERT(cxListInsert(list, 0, &a) == 0); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1356 | CX_TEST_ASSERT(cxListSize(list) == 1); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1357 | CX_TEST_ASSERT(cxListInsert(list, 0, &b) == 0); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1358 | CX_TEST_ASSERT(cxListSize(list) == 2); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1359 | CX_TEST_ASSERT(cxListInsert(list, 1, &c) == 0); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1360 | CX_TEST_ASSERT(cxListSize(list) == 3); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1361 | CX_TEST_ASSERT(cxListInsert(list, 3, &d) == 0); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1362 | CX_TEST_ASSERT(cxListSize(list) == 4); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1363 | CX_TEST_ASSERT(*(int *) cxListAt(list, 0) == 47); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1364 | CX_TEST_ASSERT(*(int *) cxListAt(list, 1) == 13); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1365 | CX_TEST_ASSERT(*(int *) cxListAt(list, 2) == 5); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1366 | CX_TEST_ASSERT(*(int *) cxListAt(list, 3) == 42); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1367 | }) |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1368 | |
875
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1369 | roll_out_test_combos_with_defaulted_funcs(insert_array, { |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1370 | int a[5] = array_init(5, 47, 11, 13, 42); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1371 | int b[5] = array_init(9, 18, 72, 50, 7); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1372 | int *aptr[5]; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1373 | int *bptr[5]; |
962
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1374 | for (size_t i = 0; i < 5; i++) { |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1375 | aptr[i] = &a[i]; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1376 | bptr[i] = &b[i]; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1377 | } |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1378 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1379 | size_t inserted; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1380 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1381 | if (isptrlist) { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1382 | inserted = cxListInsertArray(list, 0, aptr, 5); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1383 | } else { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1384 | inserted = cxListInsertArray(list, 0, a, 5); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1385 | } |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1386 | CX_TEST_ASSERT(inserted == 5); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1387 | CX_TEST_ASSERT(*(int *) cxListAt(list, 0) == 5); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1388 | CX_TEST_ASSERT(*(int *) cxListAt(list, 1) == 47); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1389 | CX_TEST_ASSERT(*(int *) cxListAt(list, 2) == 11); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1390 | CX_TEST_ASSERT(*(int *) cxListAt(list, 3) == 13); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1391 | CX_TEST_ASSERT(*(int *) cxListAt(list, 4) == 42); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1392 | if (isptrlist) { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1393 | inserted = cxListInsertArray(list, 3, bptr, 5); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1394 | } else { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1395 | inserted = cxListInsertArray(list, 3, b, 5); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1396 | } |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1397 | CX_TEST_ASSERT(inserted == 5); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1398 | CX_TEST_ASSERT(*(int *) cxListAt(list, 0) == 5); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1399 | CX_TEST_ASSERT(*(int *) cxListAt(list, 1) == 47); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1400 | CX_TEST_ASSERT(*(int *) cxListAt(list, 2) == 11); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1401 | CX_TEST_ASSERT(*(int *) cxListAt(list, 3) == 9); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1402 | CX_TEST_ASSERT(*(int *) cxListAt(list, 4) == 18); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1403 | CX_TEST_ASSERT(*(int *) cxListAt(list, 5) == 72); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1404 | CX_TEST_ASSERT(*(int *) cxListAt(list, 6) == 50); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1405 | CX_TEST_ASSERT(*(int *) cxListAt(list, 7) == 7); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1406 | CX_TEST_ASSERT(*(int *) cxListAt(list, 8) == 13); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1407 | CX_TEST_ASSERT(*(int *) cxListAt(list, 9) == 42); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1408 | }) |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1409 | |
876
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1410 | roll_out_test_combos_with_defaulted_funcs(insert_sorted, { |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1411 | int d1 = 50; |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1412 | int d2 = 80; |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1413 | int d3 = 60; |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1414 | int d4 = 40; |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1415 | int d5 = 70; |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1416 | int d6a[6] = array_init(52, 54, 56, 62, 64, 75); |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1417 | int d7a[6] = array_init(51, 57, 58, 65, 77, 78); |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1418 | int d8 = 90; |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1419 | int *d6ptr[6]; |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1420 | int *d7ptr[6]; |
962
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1421 | for (size_t i = 0; i < 6; i++) { |
876
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1422 | d6ptr[i] = &d6a[i]; |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1423 | d7ptr[i] = &d7a[i]; |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1424 | } |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1425 | size_t inserted; |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1426 | int expected[18] = array_init( |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1427 | 40, 50, 51, 52, 54, 56, 57, 58, 60, |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1428 | 62, 64, 65, 70, 75, 77, 78, 80, 90 |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1429 | ); |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1430 | |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1431 | CX_TEST_ASSERT(0 == cxListInsertSorted(list, &d1)); |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1432 | CX_TEST_ASSERT(0 == cxListInsertSorted(list, &d2)); |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1433 | CX_TEST_ASSERT(0 == cxListInsertSorted(list, &d3)); |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1434 | CX_TEST_ASSERT(0 == cxListInsertSorted(list, &d4)); |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1435 | CX_TEST_ASSERT(0 == cxListInsertSorted(list, &d5)); |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1436 | if (isptrlist) { |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1437 | inserted = cxListInsertSortedArray(list, d6ptr, 6); |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1438 | } else { |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1439 | inserted = cxListInsertSortedArray(list, d6a, 6); |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1440 | } |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1441 | CX_TEST_ASSERT(inserted == 6); |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1442 | if (isptrlist) { |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1443 | inserted = cxListInsertSortedArray(list, d7ptr, 6); |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1444 | } else { |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1445 | inserted = cxListInsertSortedArray(list, d7a, 6); |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1446 | } |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1447 | CX_TEST_ASSERT(inserted == 6); |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1448 | CX_TEST_ASSERT(0 == cxListInsertSorted(list, &d8)); |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1449 | |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1450 | CX_TEST_ASSERT(cxListSize(list) == 18); |
962
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1451 | for (size_t i = 0; i < 18; i++) { |
876
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1452 | CX_TEST_ASSERT(*(int *) cxListAt(list, i) == expected[i]); |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1453 | } |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1454 | }) |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1455 | |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1456 | roll_out_test_combos(remove, { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1457 | const size_t testdata_len = 32; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1458 | int *testdata = int_test_data_added_to_list(list, isptrlist, testdata_len); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1459 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1460 | CX_TEST_ASSERT(cxListRemove(list, 2) == 0); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1461 | CX_TEST_ASSERT(cxListRemove(list, 4) == 0); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1462 | CX_TEST_ASSERT(cxListSize(list) == testdata_len - 2); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1463 | CX_TEST_ASSERT(*(int *) cxListAt(list, 0) == testdata[0]); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1464 | CX_TEST_ASSERT(*(int *) cxListAt(list, 1) == testdata[1]); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1465 | CX_TEST_ASSERT(*(int *) cxListAt(list, 2) == testdata[3]); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1466 | CX_TEST_ASSERT(*(int *) cxListAt(list, 3) == testdata[4]); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1467 | CX_TEST_ASSERT(*(int *) cxListAt(list, 4) == testdata[6]); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1468 | CX_TEST_ASSERT(cxListRemove(list, 0) == 0); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1469 | CX_TEST_ASSERT(cxListSize(list) == testdata_len - 3); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1470 | CX_TEST_ASSERT(*(int *) cxListAt(list, 0) == testdata[1]); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1471 | CX_TEST_ASSERT(*(int *) cxListAt(list, 1) == testdata[3]); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1472 | CX_TEST_ASSERT(cxListRemove(list, testdata_len) != 0); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1473 | free(testdata); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1474 | }) |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1475 | |
961
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1476 | static unsigned test_remove_array_destr_ctr; |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
962
diff
changeset
|
1477 | static void test_remove_array_destr(cx_attr_unused void *d) { |
961
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1478 | test_remove_array_destr_ctr++; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1479 | } |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1480 | |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1481 | roll_out_test_combos(remove_array, { |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1482 | const size_t testdata_len = 32; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1483 | int *testdata = int_test_data_added_to_list(list, isptrlist, testdata_len); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1484 | cxDefineDestructor(list, test_remove_array_destr); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1485 | test_remove_array_destr_ctr = 0; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1486 | |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1487 | // first, remove and get - no destructor must be called |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1488 | int targete[8]; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1489 | int *targetp[8]; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1490 | memset(targete, 0, sizeof(targete)); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1491 | memset(targetp, 0, sizeof(targetp)); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1492 | void *target = isptrlist ? (void*) targetp : targete; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1493 | CX_TEST_ASSERT(8 == cxListRemoveArrayAndGet(list, 8, 8, target)); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1494 | CX_TEST_ASSERT(0 == test_remove_array_destr_ctr); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1495 | CX_TEST_ASSERT(24 == cxListSize(list)); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1496 | for (unsigned int i = 0 ; i < 8 ; i++) { |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1497 | CX_TEST_ASSERT((*(int*)cxListAt(list, i)) == testdata[i]); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1498 | } |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1499 | for (unsigned int i = 8 ; i < 24 ; i++) { |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1500 | CX_TEST_ASSERT((*(int*)cxListAt(list, i)) == testdata[8+i]); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1501 | } |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1502 | for (unsigned int i = 0 ; i < 8 ; i++) { |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1503 | if (isptrlist) { |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1504 | CX_TEST_ASSERT(targetp[i] == &testdata[8 + i]); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1505 | } else { |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1506 | CX_TEST_ASSERT(targete[i] == testdata[8 + i]); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1507 | } |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1508 | } |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1509 | |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1510 | // now, just remove - destructor must be called |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1511 | CX_TEST_ASSERT(8 == cxListRemoveArray(list, 8, 8)); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1512 | CX_TEST_ASSERT(8 == test_remove_array_destr_ctr); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1513 | CX_TEST_ASSERT(16 == cxListSize(list)); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1514 | for (unsigned int i = 0 ; i < 8 ; i++) { |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1515 | CX_TEST_ASSERT((*(int*)cxListAt(list, i)) == testdata[i]); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1516 | } |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1517 | for (unsigned int i = 8 ; i < 16 ; i++) { |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1518 | CX_TEST_ASSERT((*(int*)cxListAt(list, i)) == testdata[16+i]); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1519 | } |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1520 | |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1521 | // finally, remove and get out of bounds |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1522 | test_remove_array_destr_ctr = 0; |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1523 | memset(targete, 0, sizeof(targete)); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1524 | memset(targetp, 0, sizeof(targetp)); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1525 | CX_TEST_ASSERT(4 == cxListRemoveArrayAndGet(list, 12, 8, target)); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1526 | CX_TEST_ASSERT(0 == test_remove_array_destr_ctr); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1527 | CX_TEST_ASSERT(12 == cxListSize(list)); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1528 | for (unsigned int i = 0 ; i < 8 ; i++) { |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1529 | CX_TEST_ASSERT((*(int*)cxListAt(list, i)) == testdata[i]); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1530 | } |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1531 | for (unsigned int i = 8 ; i < 12 ; i++) { |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1532 | CX_TEST_ASSERT((*(int*)cxListAt(list, i)) == testdata[16+i]); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1533 | } |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1534 | for (unsigned int i = 0 ; i < 4 ; i++) { |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1535 | if (isptrlist) { |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1536 | CX_TEST_ASSERT(targetp[i] == &testdata[28 + i]); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1537 | } else { |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1538 | CX_TEST_ASSERT(targete[i] == testdata[28 + i]); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1539 | } |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1540 | } |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1541 | for (unsigned int i = 4 ; i < 8 ; i++) { |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1542 | if (isptrlist) { |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1543 | CX_TEST_ASSERT(targetp[i] == 0); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1544 | } else { |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1545 | CX_TEST_ASSERT(targete[i] == 0); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1546 | } |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1547 | } |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1548 | |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1549 | free(testdata); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1550 | }) |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1551 | |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1552 | roll_out_test_combos(find_remove, { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1553 | const size_t testdata_len = 250; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1554 | int *testdata = int_test_data_added_to_list(list, isptrlist, testdata_len); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1555 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1556 | int exp = rand() % testdata_len; // NOLINT(cert-msc50-cpp) |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1557 | int val = testdata[exp]; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1558 | // randomly picked number could occur earlier in list - find first position |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1559 | for (int i = 0 ; i < exp ; i++) { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1560 | if (testdata[i] == val) { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1561 | exp = i; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1562 | break; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1563 | } |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1564 | } |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1565 | CX_TEST_ASSERT(cxListSize(list) == testdata_len); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1566 | CX_TEST_ASSERT(cxListFind(list, &val) == exp); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1567 | CX_TEST_ASSERT(cxListFindRemove(list, &val) == exp); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1568 | CX_TEST_ASSERT(cxListSize(list) == testdata_len - 1); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1569 | CX_TEST_ASSERT(cxListFind(list, &val) != exp); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1570 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1571 | int notinlist = -1; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1572 | CX_TEST_ASSERT(cxListFindRemove(list, ¬inlist) < 0); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1573 | CX_TEST_ASSERT(cxListSize(list) == testdata_len - 1); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1574 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1575 | free(testdata); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1576 | }) |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1577 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1578 | roll_out_test_combos(clear, { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1579 | int *testdata = int_test_data_added_to_list(list, isptrlist, 8); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1580 | CX_TEST_ASSERT(cxListSize(list) > 0); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1581 | cxListClear(list); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1582 | CX_TEST_ASSERT(cxListSize(list) == 0); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1583 | free(testdata); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1584 | }) |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1585 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1586 | roll_out_test_combos(at, { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1587 | size_t len = 128; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1588 | int *testdata = int_test_data_added_to_list(list, isptrlist, 128); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1589 | CX_TEST_ASSERT(cxListSize(list) == len); |
962
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1590 | for (size_t i = 0; i < len; i++) { |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1591 | CX_TEST_ASSERT(*(int *) cxListAt(list, i) == testdata[i]); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1592 | } |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1593 | CX_TEST_ASSERT(cxListAt(list, cxListSize(list)) == NULL); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1594 | free(testdata); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1595 | }) |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1596 | |
875
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1597 | roll_out_test_combos_with_defaulted_funcs(swap, { |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1598 | int original[16] = array_init(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1599 | int swapped[16] = array_init(8, 4, 14, 3, 1, 5, 9, 12, 0, 6, 11, 10, 7, 15, 2, 13); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1600 | |
962
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1601 | for (size_t i = 0; i < 16; i++) { |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1602 | cxListAdd(list, &original[i]); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1603 | } |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1604 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1605 | CX_TEST_ASSERT(0 == cxListSwap(list, 1, 4)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1606 | CX_TEST_ASSERT(0 == cxListSwap(list, 2, 14)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1607 | CX_TEST_ASSERT(0 == cxListSwap(list, 9, 6)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1608 | CX_TEST_ASSERT(0 == cxListSwap(list, 3, 3)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1609 | CX_TEST_ASSERT(0 == cxListSwap(list, 10, 11)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1610 | CX_TEST_ASSERT(0 == cxListSwap(list, 8, 0)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1611 | CX_TEST_ASSERT(0 == cxListSwap(list, 7, 12)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1612 | CX_TEST_ASSERT(0 == cxListSwap(list, 13, 15)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1613 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1614 | CX_TEST_ASSERT(0 != cxListSwap(list, 5, 16)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1615 | CX_TEST_ASSERT(0 != cxListSwap(list, 16, 6)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1616 | CX_TEST_ASSERT(0 != cxListSwap(list, 16, 17)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1617 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1618 | CxIterator iter = cxListIterator(list); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1619 | cx_foreach(int*, e, iter) { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1620 | CX_TEST_ASSERT(*e == swapped[iter.index]); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1621 | } |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1622 | iter = cxListBackwardsIterator(list); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1623 | cx_foreach(int*, e, iter) { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1624 | CX_TEST_ASSERT(*e == swapped[iter.index]); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1625 | } |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1626 | }) |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1627 | |
807
c8d692131b1e
remove flags to disable SBO in tests - fix #343 fix #358
Mike Becker <universe@uap-core.de>
parents:
804
diff
changeset
|
1628 | CX_TEST(test_list_ll_swap_no_sbo) { |
c8d692131b1e
remove flags to disable SBO in tests - fix #343 fix #358
Mike Becker <universe@uap-core.de>
parents:
804
diff
changeset
|
1629 | set_up_combo |
c8d692131b1e
remove flags to disable SBO in tests - fix #343 fix #358
Mike Becker <universe@uap-core.de>
parents:
804
diff
changeset
|
1630 | CxList *list = cxLinkedListCreate(alloc, cx_cmp_int, 2*cx_linked_list_swap_sbo_size); |
c8d692131b1e
remove flags to disable SBO in tests - fix #343 fix #358
Mike Becker <universe@uap-core.de>
parents:
804
diff
changeset
|
1631 | CX_TEST_CALL_SUBROUTINE(test_list_verify_swap, list, false); |
c8d692131b1e
remove flags to disable SBO in tests - fix #343 fix #358
Mike Becker <universe@uap-core.de>
parents:
804
diff
changeset
|
1632 | tear_down_combo |
c8d692131b1e
remove flags to disable SBO in tests - fix #343 fix #358
Mike Becker <universe@uap-core.de>
parents:
804
diff
changeset
|
1633 | } |
c8d692131b1e
remove flags to disable SBO in tests - fix #343 fix #358
Mike Becker <universe@uap-core.de>
parents:
804
diff
changeset
|
1634 | CX_TEST(test_list_arl_swap_no_sbo) { |
c8d692131b1e
remove flags to disable SBO in tests - fix #343 fix #358
Mike Becker <universe@uap-core.de>
parents:
804
diff
changeset
|
1635 | set_up_combo |
c8d692131b1e
remove flags to disable SBO in tests - fix #343 fix #358
Mike Becker <universe@uap-core.de>
parents:
804
diff
changeset
|
1636 | CxList *list = cxArrayListCreate(alloc, cx_cmp_int, 2*cx_array_swap_sbo_size, 8); |
c8d692131b1e
remove flags to disable SBO in tests - fix #343 fix #358
Mike Becker <universe@uap-core.de>
parents:
804
diff
changeset
|
1637 | CX_TEST_CALL_SUBROUTINE(test_list_verify_swap, list, false); |
c8d692131b1e
remove flags to disable SBO in tests - fix #343 fix #358
Mike Becker <universe@uap-core.de>
parents:
804
diff
changeset
|
1638 | tear_down_combo |
c8d692131b1e
remove flags to disable SBO in tests - fix #343 fix #358
Mike Becker <universe@uap-core.de>
parents:
804
diff
changeset
|
1639 | } |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1640 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1641 | roll_out_test_combos(find, { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1642 | const size_t testdata_len = 500; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1643 | int *testdata = int_test_data_added_to_list(list, isptrlist, testdata_len); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1644 | |
962
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1645 | for (size_t attempt = 0; attempt < 25; attempt++) { |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1646 | int exp = rand() % testdata_len; // NOLINT(cert-msc50-cpp) |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1647 | int val = testdata[exp]; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1648 | // randomly picked number could occur earlier in list - find first position |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1649 | for (int i = 0 ; i < exp ; i++) { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1650 | if (testdata[i] == val) { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1651 | exp = i; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1652 | break; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1653 | } |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1654 | } |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1655 | CX_TEST_ASSERT(cxListFind(list, &val) == exp); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1656 | } |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1657 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1658 | int notinlist = -1; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1659 | CX_TEST_ASSERT(cxListFind(list, ¬inlist) < 0); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1660 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1661 | free(testdata); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1662 | }) |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1663 | |
875
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1664 | roll_out_test_combos_with_defaulted_funcs(sort, { |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1665 | const size_t testdata_len = 250; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1666 | int *testdata = int_test_data_added_to_list(list, isptrlist, testdata_len); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1667 | int *expected = malloc(testdata_len*sizeof(int)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1668 | memcpy(expected, testdata, testdata_len*sizeof(int)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1669 | qsort(expected, testdata_len, sizeof(int), cx_cmp_int); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1670 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1671 | cxListSort(list); |
962
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1672 | for (size_t i = 0; i < testdata_len; i++) { |
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1673 | CX_TEST_ASSERT(*(int *) cxListAt(list, i) == expected[i]); |
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1674 | } |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1675 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1676 | free(expected); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1677 | free(testdata); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1678 | }) |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1679 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1680 | roll_out_test_combos(reverse, { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1681 | const size_t testdata_len = 50; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1682 | int *testdata = int_test_data_added_to_list(list, isptrlist, testdata_len); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1683 | cxListReverse(list); |
962
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1684 | for (size_t i = 0; i < testdata_len; i++) { |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1685 | CX_TEST_ASSERT(*(int *) cxListAt(list, i) == testdata[testdata_len - 1 - i]); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1686 | } |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1687 | free(testdata); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1688 | }) |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1689 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1690 | roll_out_test_combos(iterator, { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1691 | const size_t len = 50; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1692 | int *testdata = int_test_data_added_to_list(list, isptrlist, len); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1693 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1694 | CxIterator iter = cxListIterator(list); |
856
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1695 | CX_TEST_ASSERT(iter.elem_size == list->collection.elem_size); |
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1696 | CX_TEST_ASSERT(iter.elem_count == list->collection.size); |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1697 | size_t i = 0; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1698 | cx_foreach(int*, x, iter) { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1699 | CX_TEST_ASSERT(i == iter.index); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1700 | CX_TEST_ASSERT(*x == testdata[iter.index]); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1701 | i++; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1702 | } |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1703 | CX_TEST_ASSERT(i == cxListSize(list)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1704 | iter = cxListBackwardsIterator(list); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1705 | cx_foreach(int*, x, iter) { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1706 | CX_TEST_ASSERT(i - 1 == iter.index); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1707 | CX_TEST_ASSERT(*x == testdata[iter.index]); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1708 | i--; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1709 | } |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1710 | CX_TEST_ASSERT(i == 0); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1711 | i = len / 2; |
853
d4baf4dd55c3
simplify iterator structures
Mike Becker <universe@uap-core.de>
parents:
850
diff
changeset
|
1712 | CxIterator mut_iter = cxListMutIteratorAt(list, i); |
856
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1713 | CX_TEST_ASSERT(mut_iter.elem_size == list->collection.elem_size); |
6bbbf219251d
fix name of collection base member (to avoid base.base)
Mike Becker <universe@uap-core.de>
parents:
855
diff
changeset
|
1714 | CX_TEST_ASSERT(mut_iter.elem_count == list->collection.size); |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1715 | size_t j = 0; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1716 | cx_foreach(int*, x, mut_iter) { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1717 | CX_TEST_ASSERT(mut_iter.index == len / 2 + j / 2); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1718 | CX_TEST_ASSERT(*x == testdata[i]); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1719 | if (i % 2 == 1) cxIteratorFlagRemoval(mut_iter); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1720 | i++; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1721 | j++; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1722 | } |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1723 | CX_TEST_ASSERT(i == len); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1724 | i = len / 2; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1725 | j = 0; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1726 | mut_iter = cxListMutBackwardsIteratorAt(list, i - 1); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1727 | cx_foreach(int*, x, mut_iter) { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1728 | CX_TEST_ASSERT(mut_iter.index == len / 2 - 1 - j); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1729 | CX_TEST_ASSERT(*x == testdata[i - 1]); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1730 | if (i % 2 == 0) cxIteratorFlagRemoval(mut_iter); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1731 | i--; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1732 | j++; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1733 | } |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1734 | CX_TEST_ASSERT(i == 0); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1735 | CX_TEST_ASSERT(cxListSize(list) == len / 2); |
962
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1736 | for (size_t k = 0; k < len / 2; k++) { |
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1737 | CX_TEST_ASSERT(*(int *) cxListAt(list, k) == testdata[k * 2]); |
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1738 | } |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1739 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1740 | free(testdata); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1741 | }) |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1742 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1743 | roll_out_test_combos(insert_with_iterator, { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1744 | int fivenums[] = array_init(0, 1, 2, 3, 4); |
962
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1745 | for (size_t i = 0; i < 5; i++) { |
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1746 | cxListAdd(list, &fivenums[i]); |
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1747 | } |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1748 | int newdata[] = array_init(10, 20, 30, 40, 50); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1749 | |
853
d4baf4dd55c3
simplify iterator structures
Mike Becker <universe@uap-core.de>
parents:
850
diff
changeset
|
1750 | CxIterator iter = cxListMutIteratorAt(list, 2); |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1751 | CX_TEST_ASSERT(cxIteratorValid(iter)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1752 | CX_TEST_ASSERT(iter.index == 2); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1753 | CX_TEST_ASSERT(*(int *) cxIteratorCurrent(iter) == 2); |
875
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1754 | CX_TEST_ASSERT(iter.elem_count == 5); |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1755 | cxListInsertAfter(&iter, &newdata[0]); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1756 | CX_TEST_ASSERT(cxIteratorValid(iter)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1757 | CX_TEST_ASSERT(iter.index == 2); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1758 | CX_TEST_ASSERT(*(int *) cxIteratorCurrent(iter) == 2); |
875
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1759 | CX_TEST_ASSERT(iter.elem_count == 6); |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1760 | cxListInsertBefore(&iter, &newdata[1]); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1761 | CX_TEST_ASSERT(cxIteratorValid(iter)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1762 | CX_TEST_ASSERT(iter.index == 3); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1763 | CX_TEST_ASSERT(*(int *) cxIteratorCurrent(iter) == 2); |
875
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1764 | CX_TEST_ASSERT(iter.elem_count == 7); |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1765 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1766 | iter = cxListMutIterator(list); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1767 | cxListInsertBefore(&iter, &newdata[2]); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1768 | CX_TEST_ASSERT(cxIteratorValid(iter)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1769 | CX_TEST_ASSERT(iter.index == 1); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1770 | CX_TEST_ASSERT(*(int *) cxIteratorCurrent(iter) == 0); |
875
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1771 | CX_TEST_ASSERT(iter.elem_count == 8); |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1772 | iter = cxListMutIteratorAt(list, cxListSize(list)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1773 | cxListInsertBefore(&iter, &newdata[3]); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1774 | CX_TEST_ASSERT(!cxIteratorValid(iter)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1775 | CX_TEST_ASSERT(iter.index == 9); |
875
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1776 | CX_TEST_ASSERT(iter.elem_count == 9); |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1777 | iter = cxListMutIteratorAt(list, cxListSize(list)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1778 | cxListInsertAfter(&iter, &newdata[4]); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1779 | CX_TEST_ASSERT(!cxIteratorValid(iter)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1780 | CX_TEST_ASSERT(iter.index == 10); |
875
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1781 | CX_TEST_ASSERT(iter.elem_count == 10); |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1782 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1783 | int expdata[] = array_init(30, 0, 1, 20, 2, 10, 3, 4, 40, 50); |
962
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1784 | for (size_t j = 0; j < 10; j++) { |
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1785 | CX_TEST_ASSERT(*(int *) cxListAt(list, j) == expdata[j]); |
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1786 | } |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1787 | }) |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1788 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1789 | static CX_TEST_SUBROUTINE(test_list_verify_compare, CxList *left, CxList *right) { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1790 | CX_TEST_ASSERTM(cxListCompare(left, right) == 0, "lists don't start identical"); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1791 | int x = 42; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1792 | cxListAdd(left, &x); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1793 | CX_TEST_ASSERT(cxListSize(left) > cxListSize(right)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1794 | CX_TEST_ASSERT(cxListCompare(left, right) > 0); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1795 | CX_TEST_ASSERT(cxListCompare(right, left) < 0); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1796 | cxListAdd(right, &x); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1797 | CX_TEST_ASSERT(cxListSize(left) == cxListSize(right)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1798 | CX_TEST_ASSERT(cxListCompare(left, right) == 0); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1799 | int a = 5, b = 10; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1800 | cxListInsert(left, 15, &a); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1801 | cxListInsert(right, 15, &b); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1802 | CX_TEST_ASSERT(cxListSize(left) == cxListSize(right)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1803 | CX_TEST_ASSERT(cxListCompare(left, right) < 0); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1804 | CX_TEST_ASSERT(cxListCompare(right, left) > 0); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1805 | *(int *) cxListAt(left, 15) = 10; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1806 | CX_TEST_ASSERT(cxListCompare(left, right) == 0); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1807 | } |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1808 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1809 | #define roll_out_compare_tests(suffix, otherctr) \ |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1810 | roll_out_test_combos(compare_##suffix, { \ |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1811 | const size_t len = 47; \ |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1812 | int *testdata = int_test_data_added_to_list(list, isptrlist, len); \ |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1813 | CxList *other = otherctr; \ |
962
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1814 | for (size_t i = 0; i < len; i++) cxListAdd(other, &testdata[i]); \ |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1815 | CX_TEST_CALL_SUBROUTINE(test_list_verify_compare, list, other); \ |
993
b642eca4b956
make names of destroy and free functions consistent - fixes #484
Mike Becker <universe@uap-core.de>
parents:
986
diff
changeset
|
1816 | cxListFree(other); \ |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1817 | free(testdata); \ |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1818 | }) |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1819 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1820 | roll_out_compare_tests( |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1821 | ll, cxLinkedListCreate(cxDefaultAllocator, cx_cmp_int, sizeof(int)) |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1822 | ) |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1823 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1824 | roll_out_compare_tests( |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1825 | pll, cxLinkedListCreate(cxDefaultAllocator, cx_cmp_int, CX_STORE_POINTERS) |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1826 | ) |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1827 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1828 | roll_out_compare_tests( |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1829 | arl, cxArrayListCreate(cxDefaultAllocator, cx_cmp_int, sizeof(int), 50) |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1830 | ) |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1831 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1832 | roll_out_compare_tests( |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1833 | parl, cxArrayListCreate(cxDefaultAllocator, cx_cmp_int, CX_STORE_POINTERS, 50) |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1834 | ) |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1835 | |
875
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1836 | roll_out_test_combos_with_defaulted_funcs(compare_unoptimized, { |
962
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1837 | const size_t len = 33; |
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1838 | int *testdata = int_test_data_added_to_list(list, isptrlist, len); |
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1839 | CxList *other = cxArrayListCreate(cxDefaultAllocator, cx_cmp_int, sizeof(int), 50); |
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1840 | do_set_default_class_funcs(other); |
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1841 | for (size_t i = 0; i < len; i++) cxListAdd(other, &testdata[i]); |
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1842 | CX_TEST_CALL_SUBROUTINE(test_list_verify_compare, list, other); |
993
b642eca4b956
make names of destroy and free functions consistent - fixes #484
Mike Becker <universe@uap-core.de>
parents:
986
diff
changeset
|
1843 | cxListFree(other); |
962
cd418898af5c
remove cx_for_n() macro - fixes #467
Mike Becker <universe@uap-core.de>
parents:
961
diff
changeset
|
1844 | free(testdata); |
875
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1845 | }) |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1846 | |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1847 | static unsigned destr_test_ctr; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1848 | static int destr_last_value; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1849 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1850 | static void simple_destr_test_fun(void *data) { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1851 | int *ptr = data; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1852 | destr_last_value = *ptr; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1853 | *ptr = destr_last_value + 1; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1854 | destr_test_ctr++; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1855 | } |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1856 | |
985
68754c7de906
major refactoring of attributes
Mike Becker <universe@uap-core.de>
parents:
962
diff
changeset
|
1857 | static void advanced_destr_test_fun(cx_attr_unused void *u, void *data) { |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1858 | simple_destr_test_fun(data); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1859 | } |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1860 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1861 | static CX_TEST_SUBROUTINE(test_list_verify_destructor, CxList *list, |
890
54565fd74e74
move all const keywords to the west - fixes #426
Mike Becker <universe@uap-core.de>
parents:
886
diff
changeset
|
1862 | const int *testdata, size_t testdata_len) { |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1863 | destr_test_ctr = 0; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1864 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1865 | int off = cxListIsStoringPointers(list) ? 1 : 0; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1866 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1867 | cxListRemove(list, 15); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1868 | CX_TEST_ASSERT(1 == destr_test_ctr); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1869 | CX_TEST_ASSERT(testdata[15] == destr_last_value + off); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1870 | CX_TEST_ASSERT(testdata_len - destr_test_ctr == cxListSize(list)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1871 | cxListRemove(list, 47); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1872 | CX_TEST_ASSERT(2 == destr_test_ctr); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1873 | CX_TEST_ASSERT(testdata[48] == destr_last_value + off); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1874 | CX_TEST_ASSERT(testdata_len - destr_test_ctr == cxListSize(list)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1875 | |
853
d4baf4dd55c3
simplify iterator structures
Mike Becker <universe@uap-core.de>
parents:
850
diff
changeset
|
1876 | CxIterator iter = cxListMutIteratorAt(list, 7); |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1877 | cxIteratorNext(iter); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1878 | CX_TEST_ASSERT(2 == destr_test_ctr); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1879 | CX_TEST_ASSERT(testdata[48] == destr_last_value + off); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1880 | CX_TEST_ASSERT(testdata_len - destr_test_ctr == cxListSize(list)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1881 | cxIteratorFlagRemoval(iter); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1882 | cxIteratorNext(iter); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1883 | CX_TEST_ASSERT(3 == destr_test_ctr); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1884 | CX_TEST_ASSERT(testdata[8] == destr_last_value + off); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1885 | CX_TEST_ASSERT(testdata_len - destr_test_ctr == cxListSize(list)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1886 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1887 | iter = cxListMutBackwardsIteratorAt(list, 5); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1888 | cxIteratorNext(iter); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1889 | CX_TEST_ASSERT(3 == destr_test_ctr); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1890 | CX_TEST_ASSERT(testdata[8] == destr_last_value + off); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1891 | CX_TEST_ASSERT(testdata_len - destr_test_ctr == cxListSize(list)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1892 | cxIteratorFlagRemoval(iter); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1893 | cxIteratorNext(iter); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1894 | CX_TEST_ASSERT(4 == destr_test_ctr); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1895 | CX_TEST_ASSERT(testdata[4] == destr_last_value + off); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1896 | CX_TEST_ASSERT(testdata_len - destr_test_ctr == cxListSize(list)); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1897 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1898 | cxListClear(list); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1899 | CX_TEST_ASSERT(testdata_len == destr_test_ctr); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1900 | CX_TEST_ASSERT(testdata[testdata_len - 1] == destr_last_value + off); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1901 | } |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1902 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1903 | roll_out_test_combos(simple_destr, { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1904 | const size_t len = 60; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1905 | int *testdata = int_test_data_added_to_list(list, isptrlist, len); |
857
4d12e34bb130
add missing convenience functions
Mike Becker <universe@uap-core.de>
parents:
856
diff
changeset
|
1906 | cxDefineDestructor(list, simple_destr_test_fun); |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1907 | CX_TEST_CALL_SUBROUTINE(test_list_verify_destructor, list, testdata, len); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1908 | free(testdata); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1909 | }) |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1910 | |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1911 | roll_out_test_combos(advanced_destr, { |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1912 | const size_t len = 75; |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1913 | int *testdata = int_test_data_added_to_list(list, isptrlist, len); |
857
4d12e34bb130
add missing convenience functions
Mike Becker <universe@uap-core.de>
parents:
856
diff
changeset
|
1914 | cxDefineAdvancedDestructor(list, advanced_destr_test_fun, NULL); |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1915 | CX_TEST_CALL_SUBROUTINE(test_list_verify_destructor, list, testdata, len); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1916 | free(testdata); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1917 | }) |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1918 | |
798
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1919 | CxTestSuite *cx_test_suite_array_list(void) { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1920 | CxTestSuite *suite = cx_test_suite_new("array_list"); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1921 | |
818
2be8fe3d5a2d
add cx_array_add() + fix type of cx_array_default_reallocator
Mike Becker <universe@uap-core.de>
parents:
807
diff
changeset
|
1922 | cx_test_register(suite, test_array_add); |
998
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
1923 | cx_test_register(suite, test_array_add8); |
bb196054f3fd
make cx_array_copy() support different types for size/capacity - fixes #492
Mike Becker <universe@uap-core.de>
parents:
993
diff
changeset
|
1924 | cx_test_register(suite, test_array_copy_unsupported_width); |
999
84fc42b04d3b
add cx_array_reserve() and several more array convenience functions
Mike Becker <universe@uap-core.de>
parents:
998
diff
changeset
|
1925 | cx_test_register(suite, test_array_reserve); |
883
3012e9b4214e
add low level cx_array_insert_sorted() and convenience macros
Mike Becker <universe@uap-core.de>
parents:
876
diff
changeset
|
1926 | cx_test_register(suite, test_array_insert_sorted); |
884
d375d8056262
add cx_array_binary_search() - fixes #424
Mike Becker <universe@uap-core.de>
parents:
883
diff
changeset
|
1927 | cx_test_register(suite, test_array_binary_search); |
818
2be8fe3d5a2d
add cx_array_add() + fix type of cx_array_default_reallocator
Mike Becker <universe@uap-core.de>
parents:
807
diff
changeset
|
1928 | |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1929 | cx_test_register(suite, test_list_arl_create); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1930 | cx_test_register(suite, test_list_arl_create_simple); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1931 | cx_test_register(suite, test_list_arl_create_simple_for_pointers); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1932 | cx_test_register(suite, test_list_parl_destroy_no_destr); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1933 | cx_test_register(suite, test_list_parl_destroy_simple_destr); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1934 | cx_test_register(suite, test_list_parl_destroy_adv_destr); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
1935 | |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1936 | cx_test_register(suite, test_list_arl_add); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1937 | cx_test_register(suite, test_list_parl_add); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1938 | cx_test_register(suite, test_list_arl_insert); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1939 | cx_test_register(suite, test_list_parl_insert); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1940 | cx_test_register(suite, test_list_arl_insert_array); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1941 | cx_test_register(suite, test_list_parl_insert_array); |
876
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1942 | cx_test_register(suite, test_list_arl_insert_sorted); |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1943 | cx_test_register(suite, test_list_parl_insert_sorted); |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1944 | cx_test_register(suite, test_list_arl_remove); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1945 | cx_test_register(suite, test_list_parl_remove); |
961
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1946 | cx_test_register(suite, test_list_arl_remove_array); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
1947 | cx_test_register(suite, test_list_parl_remove_array); |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1948 | cx_test_register(suite, test_list_arl_find_remove); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1949 | cx_test_register(suite, test_list_parl_find_remove); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1950 | cx_test_register(suite, test_list_arl_clear); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1951 | cx_test_register(suite, test_list_parl_clear); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1952 | cx_test_register(suite, test_list_arl_at); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1953 | cx_test_register(suite, test_list_parl_at); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1954 | cx_test_register(suite, test_list_arl_swap); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1955 | cx_test_register(suite, test_list_parl_swap); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1956 | cx_test_register(suite, test_list_arl_swap_no_sbo); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1957 | cx_test_register(suite, test_list_arl_find); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1958 | cx_test_register(suite, test_list_parl_find); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1959 | cx_test_register(suite, test_list_arl_sort); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1960 | cx_test_register(suite, test_list_parl_sort); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1961 | cx_test_register(suite, test_list_arl_reverse); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1962 | cx_test_register(suite, test_list_parl_reverse); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1963 | cx_test_register(suite, test_list_arl_iterator); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1964 | cx_test_register(suite, test_list_parl_iterator); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1965 | cx_test_register(suite, test_list_arl_insert_with_iterator); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1966 | cx_test_register(suite, test_list_parl_insert_with_iterator); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1967 | cx_test_register(suite, test_list_arl_compare_ll); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1968 | cx_test_register(suite, test_list_arl_compare_arl); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1969 | cx_test_register(suite, test_list_arl_compare_pll); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1970 | cx_test_register(suite, test_list_arl_compare_parl); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1971 | cx_test_register(suite, test_list_parl_compare_ll); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1972 | cx_test_register(suite, test_list_parl_compare_arl); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1973 | cx_test_register(suite, test_list_parl_compare_pll); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1974 | cx_test_register(suite, test_list_parl_compare_parl); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1975 | cx_test_register(suite, test_list_arl_simple_destr); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1976 | cx_test_register(suite, test_list_parl_simple_destr); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1977 | cx_test_register(suite, test_list_arl_advanced_destr); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1978 | cx_test_register(suite, test_list_parl_advanced_destr); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
1979 | |
798
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1980 | return suite; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1981 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
1982 | |
875
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1983 | CxTestSuite *cx_test_suite_array_list_defaulted_funcs(void) { |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1984 | CxTestSuite *suite = cx_test_suite_new( |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1985 | "array_list with defaulted functions"); |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1986 | |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1987 | cx_test_register(suite, test_list_arlm_insert_array); |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1988 | cx_test_register(suite, test_list_parlm_insert_array); |
876
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1989 | cx_test_register(suite, test_list_arlm_insert_sorted); |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
1990 | cx_test_register(suite, test_list_parlm_insert_sorted); |
875
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1991 | cx_test_register(suite, test_list_arlm_swap); |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1992 | cx_test_register(suite, test_list_parlm_swap); |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1993 | cx_test_register(suite, test_list_arlm_sort); |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1994 | cx_test_register(suite, test_list_parlm_sort); |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1995 | |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1996 | cx_test_register(suite, test_list_arl_compare_unoptimized); |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1997 | cx_test_register(suite, test_list_parl_compare_unoptimized); |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1998 | cx_test_register(suite, test_list_arlm_compare_unoptimized); |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
1999 | cx_test_register(suite, test_list_parlm_compare_unoptimized); |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
2000 | |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
2001 | return suite; |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
2002 | } |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
2003 | |
798
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2004 | CxTestSuite *cx_test_suite_linked_list(void) { |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2005 | CxTestSuite *suite = cx_test_suite_new("linked_list"); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2006 | |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2007 | cx_test_register(suite, test_linked_list_link_unlink); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2008 | cx_test_register(suite, test_linked_list_at); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2009 | cx_test_register(suite, test_linked_list_find); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2010 | cx_test_register(suite, test_linked_list_compare); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2011 | cx_test_register(suite, test_linked_list_add); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2012 | cx_test_register(suite, test_linked_list_prepend); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2013 | cx_test_register(suite, test_linked_list_insert); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2014 | cx_test_register(suite, test_linked_list_insert_chain); |
961
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
2015 | cx_test_register(suite, test_linked_list_insert_sorted); |
798
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2016 | cx_test_register(suite, test_linked_list_first); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2017 | cx_test_register(suite, test_linked_list_last); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2018 | cx_test_register(suite, test_linked_list_prev); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2019 | cx_test_register(suite, test_linked_list_remove); |
961
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
2020 | cx_test_register(suite, test_linked_list_remove_chain); |
798
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2021 | cx_test_register(suite, test_linked_list_size); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2022 | cx_test_register(suite, test_linked_list_sort_empty); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2023 | cx_test_register(suite, test_linked_list_sort); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2024 | cx_test_register(suite, test_linked_list_reverse); |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2025 | |
801
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
2026 | cx_test_register(suite, test_list_ll_create); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
2027 | cx_test_register(suite, test_list_ll_create_simple); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
2028 | cx_test_register(suite, test_list_ll_store_pointers); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
2029 | cx_test_register(suite, test_list_ll_create_simple_for_pointers); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
2030 | cx_test_register(suite, test_list_pll_destroy_no_destr); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
2031 | cx_test_register(suite, test_list_pll_destroy_simple_destr); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
2032 | cx_test_register(suite, test_list_pll_destroy_adv_destr); |
04aa3913c0e3
migrate list create and destroy tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
800
diff
changeset
|
2033 | |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2034 | cx_test_register(suite, test_list_ll_add); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2035 | cx_test_register(suite, test_list_pll_add); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2036 | cx_test_register(suite, test_list_ll_insert); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2037 | cx_test_register(suite, test_list_pll_insert); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2038 | cx_test_register(suite, test_list_ll_insert_array); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2039 | cx_test_register(suite, test_list_pll_insert_array); |
876
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
2040 | cx_test_register(suite, test_list_ll_insert_sorted); |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
2041 | cx_test_register(suite, test_list_pll_insert_sorted); |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2042 | cx_test_register(suite, test_list_ll_remove); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2043 | cx_test_register(suite, test_list_pll_remove); |
961
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
2044 | cx_test_register(suite, test_list_ll_remove_array); |
bc8b7c5f55fb
increase list test coverage - fixes #454
Mike Becker <universe@uap-core.de>
parents:
912
diff
changeset
|
2045 | cx_test_register(suite, test_list_pll_remove_array); |
803
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2046 | cx_test_register(suite, test_list_ll_find_remove); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2047 | cx_test_register(suite, test_list_pll_find_remove); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2048 | cx_test_register(suite, test_list_ll_clear); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2049 | cx_test_register(suite, test_list_pll_clear); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2050 | cx_test_register(suite, test_list_ll_at); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2051 | cx_test_register(suite, test_list_pll_at); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2052 | cx_test_register(suite, test_list_ll_swap); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2053 | cx_test_register(suite, test_list_pll_swap); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2054 | cx_test_register(suite, test_list_ll_swap_no_sbo); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2055 | cx_test_register(suite, test_list_ll_find); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2056 | cx_test_register(suite, test_list_pll_find); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2057 | cx_test_register(suite, test_list_ll_sort); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2058 | cx_test_register(suite, test_list_pll_sort); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2059 | cx_test_register(suite, test_list_ll_reverse); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2060 | cx_test_register(suite, test_list_pll_reverse); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2061 | cx_test_register(suite, test_list_ll_iterator); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2062 | cx_test_register(suite, test_list_pll_iterator); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2063 | cx_test_register(suite, test_list_ll_insert_with_iterator); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2064 | cx_test_register(suite, test_list_pll_insert_with_iterator); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2065 | cx_test_register(suite, test_list_ll_compare_ll); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2066 | cx_test_register(suite, test_list_ll_compare_arl); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2067 | cx_test_register(suite, test_list_ll_compare_pll); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2068 | cx_test_register(suite, test_list_ll_compare_parl); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2069 | cx_test_register(suite, test_list_pll_compare_ll); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2070 | cx_test_register(suite, test_list_pll_compare_arl); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2071 | cx_test_register(suite, test_list_pll_compare_pll); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2072 | cx_test_register(suite, test_list_pll_compare_parl); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2073 | cx_test_register(suite, test_list_ll_simple_destr); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2074 | cx_test_register(suite, test_list_pll_simple_destr); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2075 | cx_test_register(suite, test_list_ll_advanced_destr); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2076 | cx_test_register(suite, test_list_pll_advanced_destr); |
0711d869ce4d
complete migration of list tests - fixes #342
Mike Becker <universe@uap-core.de>
parents:
801
diff
changeset
|
2077 | |
798
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2078 | return suite; |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2079 | } |
7644da6e2d35
migrate low level linked list tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
2080 | |
875
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
2081 | CxTestSuite *cx_test_suite_linked_list_defaulted_funcs(void) { |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
2082 | CxTestSuite *suite = cx_test_suite_new( |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
2083 | "linked_list with defaulted functions"); |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
2084 | |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
2085 | cx_test_register(suite, test_list_llm_insert_array); |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
2086 | cx_test_register(suite, test_list_pllm_insert_array); |
876
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
2087 | cx_test_register(suite, test_list_llm_insert_sorted); |
f4ce7df9cff0
add stupid default implementation for high level insertion sort
Mike Becker <universe@uap-core.de>
parents:
875
diff
changeset
|
2088 | cx_test_register(suite, test_list_pllm_insert_sorted); |
875
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
2089 | cx_test_register(suite, test_list_llm_swap); |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
2090 | cx_test_register(suite, test_list_pllm_swap); |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
2091 | cx_test_register(suite, test_list_llm_sort); |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
2092 | cx_test_register(suite, test_list_pllm_sort); |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
2093 | |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
2094 | cx_test_register(suite, test_list_ll_compare_unoptimized); |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
2095 | cx_test_register(suite, test_list_pll_compare_unoptimized); |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
2096 | cx_test_register(suite, test_list_llm_compare_unoptimized); |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
2097 | cx_test_register(suite, test_list_pllm_compare_unoptimized); |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
2098 | |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
2099 | return suite; |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
2100 | } |
ee84ac776cbc
add default impl for some list member functions
Mike Becker <universe@uap-core.de>
parents:
857
diff
changeset
|
2101 | |
800
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
2102 | CxTestSuite *cx_test_suite_empty_list(void) { |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
2103 | CxTestSuite *suite = cx_test_suite_new("empty list dummy"); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
2104 | |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
2105 | cx_test_register(suite, test_empty_list_size); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
2106 | cx_test_register(suite, test_empty_list_iterator); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
2107 | cx_test_register(suite, test_empty_list_noops); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
2108 | cx_test_register(suite, test_empty_list_at); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
2109 | cx_test_register(suite, test_empty_list_find); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
2110 | cx_test_register(suite, test_empty_list_compare); |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
2111 | |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
2112 | return suite; |
1274e46b3013
migrate cxEmptyList tests - relates to #342
Mike Becker <universe@uap-core.de>
parents:
799
diff
changeset
|
2113 | } |