EXPECT_CALL проверить, содержит ли параметр данное подмножество

Я использую gtest & gmock и хотите установить ожидания для функции, которая вызывается с помощью набора. Я хочу убедиться, что этот набор содержит несколько элементов.

Что-то вроде этого:

EXPECT_CALL(*mView, SetHighlightedCells(Contains(AllOf(c5, c6))));

Я знаю, что могу указать полный набор,

EXPECT_CALL(*mView, SetHighlightedCells(UnorderedElementsAre(c5, c6, ...and all the rest..)));

или же

EXPECT_CALL(*mView, SetHighlightedCells(UnorderedElementsAreArray(vector_containing_c5_c6_and_ALL_other_elements)));

Но я не заинтересован во всех других пройденных элементах, мне нужно только убедиться, что этот набор содержит c5 а также c6,

0

Решение

Просто смотрю на документы AllOf() занимает кучу совпадений, одним из которых является:

Contains(e)
Аргумент содержит элемент, который соответствует e, который может быть либо значением, либо совпадением.

Так что я бы догадался:

EXPECT_CALL(*mView, SetHighlightedCells(AllOf(Contains(c5), Contains(c6))));
2

Другие решения


По вопросам рекламы [email protected]