mirror of
https://github.com/catchorg/Catch2.git
synced 2024-12-22 11:23:29 +01:00
parent
69f35a5ac8
commit
0a0ebf5003
@ -85,11 +85,10 @@ namespace Matchers {
|
||||
// - a more general approach would be via a compare template that defaults
|
||||
// to using !=. but could be specialised for, e.g. std::vector<T> etc
|
||||
// - then just call that directly
|
||||
if (m_comparator.size() != v.size())
|
||||
return false;
|
||||
for (std::size_t i = 0; i < v.size(); ++i)
|
||||
if (m_comparator[i] != v[i])
|
||||
return false;
|
||||
if ( m_comparator.size() != v.size() ) { return false; }
|
||||
for ( std::size_t i = 0; i < v.size(); ++i ) {
|
||||
if ( !( m_comparator[i] == v[i] ) ) { return false; }
|
||||
}
|
||||
return true;
|
||||
}
|
||||
std::string describe() const override {
|
||||
|
@ -406,6 +406,25 @@ TEST_CASE( "Vector matchers that fail", "[matchers][vector][.][failing]" ) {
|
||||
}
|
||||
}
|
||||
|
||||
namespace {
|
||||
struct SomeType {
|
||||
int i;
|
||||
friend bool operator==( SomeType lhs, SomeType rhs ) {
|
||||
return lhs.i == rhs.i;
|
||||
}
|
||||
};
|
||||
} // end anonymous namespace
|
||||
|
||||
TEST_CASE( "Vector matcher with elements without !=", "[matchers][vector][approvals]" ) {
|
||||
std::vector<SomeType> lhs, rhs;
|
||||
lhs.push_back( { 1 } );
|
||||
lhs.push_back( { 2 } );
|
||||
rhs.push_back( { 1 } );
|
||||
rhs.push_back( { 1 } );
|
||||
|
||||
REQUIRE_THAT( lhs, !Equals(rhs) );
|
||||
}
|
||||
|
||||
TEST_CASE( "Exception matchers that succeed",
|
||||
"[matchers][exceptions][!throws]" ) {
|
||||
CHECK_THROWS_MATCHES(
|
||||
|
Loading…
Reference in New Issue
Block a user