Я использую 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
,
Просто смотрю на документы AllOf()
занимает кучу совпадений, одним из которых является:
Contains(e)
Аргумент содержит элемент, который соответствует e, который может быть либо значением, либо совпадением.
Так что я бы догадался:
EXPECT_CALL(*mView, SetHighlightedCells(AllOf(Contains(c5), Contains(c6))));