static_assert( __cplusplus > 2023'00 ); #include "../NamedComparator.h" #include #include #include static auto init= Alepha::Utility::enroll <=[] { using namespace Alepha::Testing::exports; using namespace Alepha::Utility::NamedComparator_m; using namespace Alepha::literals::enum_literals; "Does the named comparator system have the expected basic functionality?"_test <= TableTest < []( const int lhs, const ComparatorName name, const int rhs ) { return getComparatorMap< int >().at( name )( lhs, rhs ); } > ::Cases { { "equals (true)", { 1, "eq"_value, 1 }, true }, { "equals (false)", { 1, "eq"_value, 2 }, false }, { "not equals (true)", { 1, "ne"_value, 2 }, true }, { "not equals (false)", { 1, "ne"_value, 1 }, false }, { "less (true)", { 1, "lt"_value, 2 }, true }, { "less (false)", { 1, "lt"_value, 1 }, false }, { "greater (true)", { 2, "gt"_value, 1 }, true }, { "greater (false)", { 1, "gt"_value, 1 }, false }, { "less equal (true)", { 1, "le"_value, 2 }, true }, { "less equal (true)", { 1, "le"_value, 1 }, true }, { "less equal (false)", { 1, "le"_value, 0 }, false }, { "greater equal (true)", { 2, "ge"_value, 1 }, true }, { "greater equal (true)", { 1, "ge"_value, 1 }, true }, { "greater equal (false)", { 0, "ge"_value, 1 }, false }, }; };