나는 에있는 어설 션을 찾으려고 노력했습니다. 이는 Boost Test Library에있는 BOOST_CHECK_EQUAL_COLLECTIONS 어설 션과 동일합니다.Google 테스트의 BOOST_CHECK_EQUAL_COLLECTIONS
그러나; 성공없이. 그래서 내 질문은 두 가지입니다 :
EDIT (약간 수정 답) :
#include <iostream>
template<typename LeftIter, typename RightIter>
::testing::AssertionResult CheckEqualCollections(LeftIter left_begin,
LeftIter left_end,
RightIter right_begin)
{
std::stringstream message;
std::size_t index(0);
bool equal(true);
for(;left_begin != left_end; left_begin++, right_begin++) {
if (*left_begin != *right_begin) {
equal = false;
message << "\n Mismatch in position " << index << ": " << *left_begin << " != " << *right_begin;
}
++index;
}
if (message.str().size()) {
message << "\n";
}
return equal ? ::testing::AssertionSuccess() :
::testing::AssertionFailure() << message.str();
}
자매 프로젝트 인 Google Mock을 살펴볼 필요가 있다고 생각합니다. –