mirror of
https://github.com/catchorg/Catch2.git
synced 2024-11-22 21:36:11 +01:00
add support for inequalities
This commit is contained in:
parent
5a4dde4b5d
commit
37e1e24309
@ -58,6 +58,26 @@ namespace Detail {
|
|||||||
return !operator==( rhs, lhs );
|
return !operator==( rhs, lhs );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
friend bool operator <= ( double lhs, Approx const& rhs )
|
||||||
|
{
|
||||||
|
return lhs < rhs.m_value || lhs == rhs;
|
||||||
|
}
|
||||||
|
|
||||||
|
friend bool operator <= ( Approx const& lhs, double rhs )
|
||||||
|
{
|
||||||
|
return lhs.m_value < rhs || lhs == rhs;
|
||||||
|
}
|
||||||
|
|
||||||
|
friend bool operator >= ( double lhs, Approx const& rhs )
|
||||||
|
{
|
||||||
|
return lhs > rhs.m_value || lhs == rhs;
|
||||||
|
}
|
||||||
|
|
||||||
|
friend bool operator >= ( Approx const& lhs, double rhs )
|
||||||
|
{
|
||||||
|
return lhs.m_value > rhs || lhs == rhs;
|
||||||
|
}
|
||||||
|
|
||||||
Approx& epsilon( double newEpsilon ) {
|
Approx& epsilon( double newEpsilon ) {
|
||||||
m_epsilon = newEpsilon;
|
m_epsilon = newEpsilon;
|
||||||
return *this;
|
return *this;
|
||||||
|
@ -39,6 +39,36 @@ TEST_CASE
|
|||||||
REQUIRE( d == Approx( 1.231 ).epsilon( 0.1 ) );
|
REQUIRE( d == Approx( 1.231 ).epsilon( 0.1 ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
TEST_CASE
|
||||||
|
(
|
||||||
|
"Less-than inequalities with different epsilons",
|
||||||
|
"[Approx]"
|
||||||
|
)
|
||||||
|
{
|
||||||
|
double d = 1.23;
|
||||||
|
|
||||||
|
REQUIRE( d <= Approx( 1.24 ) );
|
||||||
|
REQUIRE( d <= Approx( 1.23 ) );
|
||||||
|
REQUIRE_FALSE( d <= Approx( 1.22 ) );
|
||||||
|
REQUIRE( d <= Approx( 1.22 ).epsilon(0.1) );
|
||||||
|
}
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
TEST_CASE
|
||||||
|
(
|
||||||
|
"Greater-than inequalities with different epsilons",
|
||||||
|
"[Approx]"
|
||||||
|
)
|
||||||
|
{
|
||||||
|
double d = 1.23;
|
||||||
|
|
||||||
|
REQUIRE( d >= Approx( 1.22 ) );
|
||||||
|
REQUIRE( d >= Approx( 1.23 ) );
|
||||||
|
REQUIRE_FALSE( d >= Approx( 1.24 ) );
|
||||||
|
REQUIRE( d >= Approx( 1.24 ).epsilon(0.1) );
|
||||||
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
TEST_CASE
|
TEST_CASE
|
||||||
(
|
(
|
||||||
|
Loading…
Reference in New Issue
Block a user