Я хотел бы использовать некоторые существующие маткеры в других маттерах. Я знаю о решении MatchterInterface, но мне было интересно, могу ли я использовать совпадения, которые были определены Matcher_p . Если найдено это решение: < /p>
struct Foo
{
double x;
double y;
};
struct Bar
{
Foo foo;
int i;
};
MATCHER_P(EqFoo, foo, "")
{
::testing::Matcher x_matcher = ::testing::DoubleNear(foo.x, 0.0001);
if (!x_matcher.MatchAndExplain(arg.x, result_listener))
{
return false;
}
::testing::Matcher y_matcher = ::testing::DoubleNear(foo.y, 0.0001);
if (!y_matcher.MatchAndExplain(arg.y, result_listener))
{
return false;
}
return true;
}
MATCHER_P(EqBar, bar, "")
{
::testing::Matcher foo_matcher = EqFooMatcherP(bar.foo);
if (!foo_matcher.MatchAndExplain(arg.foo, result_listener))
{
return false;
}
if (bar.i != arg.i)
{
return false;
}
return true;
}
TEST_F(TestClass, BarTest)
{
Bar bar_val{{10.12, 76.43}, 78};
Bar bar_exp{{10.12, 99.99}, 78};
EXPECT_THAT(bar_val, EqBar(bar_exp));
}
< /code>
Мне просто интересно, есть ли лучшее и более приятное решение < /p>
Используйте мой собственный сочетание matcher_p в другом < /li>
Используйте оригинальный маттер Gtest в другом.>
Подробнее здесь: https://stackoverflow.com/questions/489 ... s-in-gtest
Вложенные матчи в GTEST ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как удалить данные, такие как матчи и ставки, из URL-адреса с помощью селена и Python
Anonymous » » в форуме Python - 0 Ответы
- 14 Просмотры
-
Последнее сообщение Anonymous
-