This commit is contained in:
parent
3f88bb1831
commit
dff32aff97
|
@ -5202,19 +5202,27 @@ std::string DescribeMatcher(const M& matcher, bool negation = false) {
|
|||
// Define variadic matcher versions. They are overloaded in
|
||||
// gmock-generated-matchers.h for the cases supported by pre C++11 compilers.
|
||||
template <typename... Args>
|
||||
inline internal::AllOfMatcher<Args...> AllOf(const Args&... matchers) {
|
||||
internal::AllOfMatcher<Args...> AllOf(const Args&... matchers) {
|
||||
return internal::AllOfMatcher<Args...>(matchers...);
|
||||
}
|
||||
|
||||
template <typename... Args>
|
||||
inline internal::AnyOfMatcher<Args...> AnyOf(const Args&... matchers) {
|
||||
internal::AnyOfMatcher<Args...> AnyOf(const Args&... matchers) {
|
||||
return internal::AnyOfMatcher<Args...>(matchers...);
|
||||
}
|
||||
|
||||
template <typename... Args>
|
||||
inline internal::UnorderedElementsAreMatcher<Args...>
|
||||
UnorderedElementsAreMatcher(const Args&... matchers) {
|
||||
return internal::UnorderedElementsAreMatcher<Args...>(matchers...);
|
||||
internal::ElementsAreMatcher<tuple<typename std::decay<Args>::type...>>
|
||||
ElementsAre(const Args&... matchers) {
|
||||
return internal::ElementsAreMatcher<
|
||||
tuple<typename std::decay<Args>::type...>>(make_tuple(matchers...));
|
||||
}
|
||||
|
||||
template <typename... Args>
|
||||
internal::UnorderedElementsAreMatcher<tuple<typename std::decay<Args>::type...>>
|
||||
UnorderedElementsAre(const Args&... matchers) {
|
||||
return internal::UnorderedElementsAreMatcher<
|
||||
tuple<typename std::decay<Args>::type...>>(make_tuple(matchers...));
|
||||
}
|
||||
|
||||
#endif // GTEST_LANG_CXX11
|
||||
|
|
|
@ -2742,6 +2742,48 @@ TEST(AnyOfTest, VariadicMatchesWhenAnyMatches) {
|
|||
41, 42, 43, 44, 45, 46, 47, 48, 49, 50));
|
||||
}
|
||||
|
||||
// Tests the variadic version of the ElementsAreMatcher
|
||||
TEST(ElementsAreTest, HugeMatcher) {
|
||||
vector<int> test_vector;
|
||||
test_vector.push_back(1);
|
||||
test_vector.push_back(2);
|
||||
test_vector.push_back(3);
|
||||
test_vector.push_back(4);
|
||||
test_vector.push_back(5);
|
||||
test_vector.push_back(6);
|
||||
test_vector.push_back(7);
|
||||
test_vector.push_back(8);
|
||||
test_vector.push_back(9);
|
||||
test_vector.push_back(10);
|
||||
test_vector.push_back(11);
|
||||
test_vector.push_back(12);
|
||||
|
||||
EXPECT_THAT(test_vector,
|
||||
ElementsAre(Eq(1), Eq(2), Lt(13), Eq(4), Eq(5), Eq(6), Eq(7),
|
||||
Eq(8), Eq(9), Eq(10), Gt(1), Eq(12) ));
|
||||
}
|
||||
|
||||
// Tests the variadic version of the UnorderedElementsAreMatcher
|
||||
TEST(ElementsAreTest, HugeMatcherUnordered) {
|
||||
vector<int> test_vector;
|
||||
test_vector.push_back(1);
|
||||
test_vector.push_back(2);
|
||||
test_vector.push_back(3);
|
||||
test_vector.push_back(4);
|
||||
test_vector.push_back(5);
|
||||
test_vector.push_back(6);
|
||||
test_vector.push_back(7);
|
||||
test_vector.push_back(8);
|
||||
test_vector.push_back(9);
|
||||
test_vector.push_back(10);
|
||||
test_vector.push_back(11);
|
||||
test_vector.push_back(12);
|
||||
|
||||
EXPECT_THAT(test_vector,
|
||||
UnorderedElementsAre(Eq(1), Eq(2), Eq(3), Eq(4), Eq(5), Eq(6), Eq(7),
|
||||
Eq(8), Eq(9), Eq(10), Eq(11), Ne(122) ));
|
||||
}
|
||||
|
||||
#endif // GTEST_LANG_CXX11
|
||||
|
||||
// Tests that AnyOf(m1, ..., mn) describes itself properly.
|
||||
|
|
Loading…
Reference in New Issue
Block a user