Skip to content

Commit 4041ddd

Browse files
test: Add unit test for ordered comparison on boolean values
1 parent e87a21b commit 4041ddd

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

tests/basic/operations/operators/test_framework_and_compound.cpp

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,26 @@ TEST(OperationsTest, ThreeWayCompareOnBoolReturnsError) {
280280
EXPECT_EQ(result.error(), policy::error::kind::unspecified);
281281
}
282282

283+
TEST(OperationsTest, OrderedComparisonOnBoolReturnsError) {
284+
using namespace mcpplibs::primitives::operators;
285+
using value_t =
286+
primitive<bool, policy::value::checked, policy::error::expected>;
287+
288+
auto const less_result = (value_t{false} < value_t{true});
289+
auto const greater_result = (value_t{true} > value_t{false});
290+
auto const less_or_equal_result = (value_t{false} <= value_t{true});
291+
auto const greater_or_equal_result = (value_t{true} >= value_t{false});
292+
293+
ASSERT_FALSE(less_result.has_value());
294+
ASSERT_FALSE(greater_result.has_value());
295+
ASSERT_FALSE(less_or_equal_result.has_value());
296+
ASSERT_FALSE(greater_or_equal_result.has_value());
297+
EXPECT_EQ(less_result.error(), policy::error::kind::unspecified);
298+
EXPECT_EQ(greater_result.error(), policy::error::kind::unspecified);
299+
EXPECT_EQ(less_or_equal_result.error(), policy::error::kind::unspecified);
300+
EXPECT_EQ(greater_or_equal_result.error(), policy::error::kind::unspecified);
301+
}
302+
283303
TEST(OperationsTest, CompoundAssignmentOperatorsMutateLhsOnSuccess) {
284304
using namespace mcpplibs::primitives::operators;
285305
using value_t =

0 commit comments

Comments
 (0)