Allows {Unordered,}ElementsAreArray() to accept any STL-style container as the parameter.

This commit is contained in:
kosak
2014-07-28 20:01:28 +00:00
parent a9e02a9178
commit 06678924fa
2 changed files with 37 additions and 11 deletions

View File

@@ -4651,6 +4651,19 @@ TEST(ElementsAreTest, WorksWithUncopyable) {
EXPECT_THAT(objs, ElementsAre(UncopyableIs(-3), Truly(ValueIsPositive)));
}
TEST(ElementsAreTest, TakesStlContainer) {
const int actual[] = {3, 1, 2};
::std::list<int> expected;
expected.push_back(3);
expected.push_back(1);
expected.push_back(2);
EXPECT_THAT(actual, ElementsAreArray(expected));
expected.push_back(4);
EXPECT_THAT(actual, Not(ElementsAreArray(expected)));
}
// Tests for UnorderedElementsAreArray()
TEST(UnorderedElementsAreArrayTest, SucceedsWhenExpected) {
@@ -4692,6 +4705,19 @@ TEST(UnorderedElementsAreArrayTest, WorksForStreamlike) {
EXPECT_THAT(s, Not(UnorderedElementsAreArray(expected)));
}
TEST(UnorderedElementsAreArrayTest, TakesStlContainer) {
const int actual[] = {3, 1, 2};
::std::list<int> expected;
expected.push_back(1);
expected.push_back(2);
expected.push_back(3);
EXPECT_THAT(actual, UnorderedElementsAreArray(expected));
expected.push_back(4);
EXPECT_THAT(actual, Not(UnorderedElementsAreArray(expected)));
}
#if GTEST_HAS_STD_INITIALIZER_LIST_
TEST(UnorderedElementsAreArrayTest, TakesInitializerList) {
@@ -5464,4 +5490,3 @@ TEST(PointwiseTest, AllowsMonomorphicInnerMatcher) {
} // namespace gmock_matchers_test
} // namespace testing