Skip to content

Commit ed797fb

Browse files
committed
Move compare tests to their own file. Use array instead of empty_range for those tests.
1 parent ae0db04 commit ed797fb

File tree

3 files changed

+92
-80
lines changed

3 files changed

+92
-80
lines changed

source/containers/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,7 @@ target_sources(containers_test PRIVATE
225225
test/sort/test_sort.cpp
226226
test/algorithms/adjacent.cpp
227227
test/algorithms/chunk_by.cpp
228+
test/algorithms/compare.cpp
228229
test/algorithms/count.cpp
229230
test/algorithms/concatenate_view.cpp
230231
test/algorithms/copy_or_relocate_from.cpp

source/containers/algorithms/compare.cpp

Lines changed: 0 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,7 @@ module;
99

1010
export module containers.algorithms.compare;
1111

12-
import containers.c_array;
1312
import containers.begin_end;
14-
import containers.empty_range;
1513
import containers.iterator;
1614
import containers.range;
1715
import containers.sentinel_for;
@@ -193,81 +191,3 @@ constexpr auto equal(Range1 && range1, Range2 && range2) {
193191
}
194192

195193
} // namespace containers
196-
197-
constexpr auto empty = containers::empty_range<int>();
198-
199-
static_assert(containers::lexicographical_compare_3way(empty, empty) == 0);
200-
static_assert(containers::equal(empty, empty));
201-
202-
constexpr containers::c_array<int, 1> one_one = {1};
203-
constexpr containers::c_array<int, 1> one_two = {2};
204-
205-
static_assert(containers::lexicographical_compare_3way(empty, one_one) < 0);
206-
static_assert(containers::lexicographical_compare_3way(one_one, empty) > 0);
207-
static_assert(!containers::equal(empty, one_one));
208-
static_assert(!containers::equal(one_one, empty));
209-
210-
static_assert(containers::lexicographical_compare_3way(one_one, one_two) < 0);
211-
static_assert(containers::lexicographical_compare_3way(one_two, one_one) > 0);
212-
static_assert(!containers::equal(one_one, one_two));
213-
static_assert(!containers::equal(one_two, one_one));
214-
215-
static_assert(containers::equal(one_one, one_one));
216-
static_assert(containers::equal(one_two, one_two));
217-
218-
constexpr containers::c_array<int, 2> two_forward = {1, 2};
219-
constexpr containers::c_array<int, 2> two_reversed = {2, 1};
220-
221-
static_assert(containers::lexicographical_compare_3way(empty, two_forward) < 0);
222-
static_assert(containers::lexicographical_compare_3way(two_forward, empty) > 0);
223-
static_assert(!containers::equal(empty, two_forward));
224-
static_assert(!containers::equal(two_forward, empty));
225-
226-
static_assert(containers::lexicographical_compare_3way(one_one, two_forward) < 0);
227-
static_assert(containers::lexicographical_compare_3way(two_forward, one_one) > 0);
228-
static_assert(!containers::equal(one_one, two_forward));
229-
static_assert(!containers::equal(two_forward, one_one));
230-
231-
static_assert(containers::lexicographical_compare_3way(one_two, two_forward) > 0);
232-
static_assert(containers::lexicographical_compare_3way(two_forward, one_two) < 0);
233-
static_assert(!containers::equal(one_two, two_forward));
234-
static_assert(!containers::equal(two_forward, one_two));
235-
236-
static_assert(containers::lexicographical_compare_3way(two_forward, two_reversed) < 0);
237-
static_assert(containers::lexicographical_compare_3way(two_reversed, two_forward) > 0);
238-
static_assert(!containers::equal(two_forward, two_reversed));
239-
static_assert(!containers::equal(two_reversed, two_forward));
240-
241-
static_assert(containers::equal(two_forward, two_forward));
242-
static_assert(containers::equal(two_reversed, two_reversed));
243-
244-
constexpr containers::c_array<int, 9> nine = {1, 2, 3, 4, 5, 6, 7, 8, 9};
245-
constexpr containers::c_array<int, 10> ten = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
246-
247-
static_assert(containers::lexicographical_compare_3way(empty, nine) < 0);
248-
static_assert(containers::lexicographical_compare_3way(nine, empty) > 0);
249-
static_assert(!containers::equal(empty, nine));
250-
static_assert(!containers::equal(nine, empty));
251-
252-
static_assert(containers::lexicographical_compare_3way(one_one, nine) < 0);
253-
static_assert(containers::lexicographical_compare_3way(nine, one_one) > 0);
254-
static_assert(!containers::equal(one_one, nine));
255-
static_assert(!containers::equal(nine, one_one));
256-
257-
static_assert(containers::lexicographical_compare_3way(one_two, nine) > 0);
258-
static_assert(containers::lexicographical_compare_3way(nine, one_two) < 0);
259-
static_assert(!containers::equal(one_two, nine));
260-
static_assert(!containers::equal(nine, one_two));
261-
262-
static_assert(containers::lexicographical_compare_3way(nine, two_reversed) < 0);
263-
static_assert(containers::lexicographical_compare_3way(two_reversed, nine) > 0);
264-
static_assert(!containers::equal(nine, two_reversed));
265-
static_assert(!containers::equal(two_reversed, nine));
266-
267-
static_assert(containers::lexicographical_compare_3way(nine, ten) < 0);
268-
static_assert(containers::lexicographical_compare_3way(ten, nine) > 0);
269-
static_assert(!containers::equal(nine, ten));
270-
static_assert(!containers::equal(ten, nine));
271-
272-
static_assert(containers::equal(nine, nine));
273-
static_assert(containers::equal(ten, ten));
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
// Copyright David Stone 2024.
2+
// Distributed under the Boost Software License, Version 1.0.
3+
// (See accompanying file LICENSE_1_0.txt or copy at
4+
// http://www.boost.org/LICENSE_1_0.txt)
5+
6+
export module containers.test.algorithms.compare;
7+
8+
import containers.algorithms.compare;
9+
import containers.array;
10+
11+
import bounded;
12+
13+
using namespace bounded::literal;
14+
15+
constexpr auto empty = containers::array<int, 0_bi>();
16+
17+
static_assert(containers::lexicographical_compare_3way(empty, empty) == 0);
18+
static_assert(containers::equal(empty, empty));
19+
20+
constexpr auto one_one = containers::array({1});
21+
constexpr auto one_two = containers::array({2});
22+
23+
static_assert(containers::lexicographical_compare_3way(empty, one_one) < 0);
24+
static_assert(containers::lexicographical_compare_3way(one_one, empty) > 0);
25+
static_assert(!containers::equal(empty, one_one));
26+
static_assert(!containers::equal(one_one, empty));
27+
28+
static_assert(containers::lexicographical_compare_3way(one_one, one_two) < 0);
29+
static_assert(containers::lexicographical_compare_3way(one_two, one_one) > 0);
30+
static_assert(!containers::equal(one_one, one_two));
31+
static_assert(!containers::equal(one_two, one_one));
32+
33+
static_assert(containers::equal(one_one, one_one));
34+
static_assert(containers::equal(one_two, one_two));
35+
36+
constexpr auto two_forward = containers::array({1, 2});
37+
constexpr auto two_reversed = containers::array({2, 1});
38+
39+
static_assert(containers::lexicographical_compare_3way(empty, two_forward) < 0);
40+
static_assert(containers::lexicographical_compare_3way(two_forward, empty) > 0);
41+
static_assert(!containers::equal(empty, two_forward));
42+
static_assert(!containers::equal(two_forward, empty));
43+
44+
static_assert(containers::lexicographical_compare_3way(one_one, two_forward) < 0);
45+
static_assert(containers::lexicographical_compare_3way(two_forward, one_one) > 0);
46+
static_assert(!containers::equal(one_one, two_forward));
47+
static_assert(!containers::equal(two_forward, one_one));
48+
49+
static_assert(containers::lexicographical_compare_3way(one_two, two_forward) > 0);
50+
static_assert(containers::lexicographical_compare_3way(two_forward, one_two) < 0);
51+
static_assert(!containers::equal(one_two, two_forward));
52+
static_assert(!containers::equal(two_forward, one_two));
53+
54+
static_assert(containers::lexicographical_compare_3way(two_forward, two_reversed) < 0);
55+
static_assert(containers::lexicographical_compare_3way(two_reversed, two_forward) > 0);
56+
static_assert(!containers::equal(two_forward, two_reversed));
57+
static_assert(!containers::equal(two_reversed, two_forward));
58+
59+
static_assert(containers::equal(two_forward, two_forward));
60+
static_assert(containers::equal(two_reversed, two_reversed));
61+
62+
constexpr auto nine = containers::array({1, 2, 3, 4, 5, 6, 7, 8, 9});
63+
constexpr auto ten = containers::array({1, 2, 3, 4, 5, 6, 7, 8, 9, 10});
64+
65+
static_assert(containers::lexicographical_compare_3way(empty, nine) < 0);
66+
static_assert(containers::lexicographical_compare_3way(nine, empty) > 0);
67+
static_assert(!containers::equal(empty, nine));
68+
static_assert(!containers::equal(nine, empty));
69+
70+
static_assert(containers::lexicographical_compare_3way(one_one, nine) < 0);
71+
static_assert(containers::lexicographical_compare_3way(nine, one_one) > 0);
72+
static_assert(!containers::equal(one_one, nine));
73+
static_assert(!containers::equal(nine, one_one));
74+
75+
static_assert(containers::lexicographical_compare_3way(one_two, nine) > 0);
76+
static_assert(containers::lexicographical_compare_3way(nine, one_two) < 0);
77+
static_assert(!containers::equal(one_two, nine));
78+
static_assert(!containers::equal(nine, one_two));
79+
80+
static_assert(containers::lexicographical_compare_3way(nine, two_reversed) < 0);
81+
static_assert(containers::lexicographical_compare_3way(two_reversed, nine) > 0);
82+
static_assert(!containers::equal(nine, two_reversed));
83+
static_assert(!containers::equal(two_reversed, nine));
84+
85+
static_assert(containers::lexicographical_compare_3way(nine, ten) < 0);
86+
static_assert(containers::lexicographical_compare_3way(ten, nine) > 0);
87+
static_assert(!containers::equal(nine, ten));
88+
static_assert(!containers::equal(ten, nine));
89+
90+
static_assert(containers::equal(nine, nine));
91+
static_assert(containers::equal(ten, ten));

0 commit comments

Comments
 (0)