forked from Alepha/Alepha
Add named comparator support.
This commit is contained in:
46
Utility/NamedComparator.test/0.cc
Normal file
46
Utility/NamedComparator.test/0.cc
Normal file
@ -0,0 +1,46 @@
|
||||
static_assert( __cplusplus > 2023'00 );
|
||||
|
||||
#include "../NamedComparator.h"
|
||||
|
||||
#include <Alepha/Testing/test.h>
|
||||
#include <Alepha/Testing/TableTest.h>
|
||||
|
||||
#include <Alepha/Utility/enroll.h>
|
||||
|
||||
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 },
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user