@@ -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+
283303TEST (OperationsTest, CompoundAssignmentOperatorsMutateLhsOnSuccess) {
284304 using namespace mcpplibs ::primitives::operators;
285305 using value_t =
0 commit comments