Skip to content

Commit ca199a8

Browse files
committed
Test: operator<=?> WIP
1 parent 1f22a33 commit ca199a8

File tree

1 file changed

+35
-1
lines changed

1 file changed

+35
-1
lines changed

libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.pass.cpp

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,43 @@
2121
#include <cassert>
2222
#include <functional>
2323

24+
#include "test_comparisons.h"
2425
#include "test_macros.h"
2526

26-
constexpr bool test() { return true; }
27+
template <typename Order>
28+
constexpr void test() {
29+
int integer = 47;
30+
31+
int bigger = 94;
32+
int smaller = 82;
33+
34+
// Identical contents
35+
{
36+
std::reference_wrapper<int> rw1{integer};
37+
std::reference_wrapper<int> rw2{integer};
38+
assert(testOrder(rw1, rw2, Order::equivalent));
39+
}
40+
// Less
41+
{
42+
std::reference_wrapper<int> rw1{smaller};
43+
std::reference_wrapper<int> rw2{bigger};
44+
assert(testOrder(rw1, rw2, Order::less));
45+
}
46+
// Greater
47+
{
48+
std::reference_wrapper<int> rw1{bigger};
49+
std::reference_wrapper<int> rw2{smaller};
50+
assert(testOrder(rw1, rw2, Order::greater));
51+
}
52+
}
53+
54+
constexpr bool test() {
55+
test<std::strong_ordering>();
56+
test<std::weak_ordering>();
57+
test<std::partial_ordering>();
58+
59+
return true;
60+
}
2761

2862
int main(int, char**) {
2963
test();

0 commit comments

Comments
 (0)