Как установить такое же ожидание для массива фиктивных объектов в trompeloeil?C++

Программы на C++. Форум разработчиков
Anonymous
Как установить такое же ожидание для массива фиктивных объектов в trompeloeil?

Сообщение Anonymous »

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

Код: Выделить всё

struct IWheel {
virtual bool is_flat() = 0;
};

bool all_tyres_ok( IWheel* wheels[4] )
{
return all_of(wheels, wheels+4, [](IWheel*w) {
return w->is_flat();
});
}
определяем ожидания макетов

Код: Выделить всё

struct MockWheel : public IWheel {
MAKE_MOCK0(is_flat, bool(), override);
};

TEST_CASE("test_wheels")
{
MockWheel w[4];
{
ALLOW_CALL(w[0], is_flat()).RETURN(true);
ALLOW_CALL(w[1], is_flat()).RETURN(true);
ALLOW_CALL(w[2], is_flat()).RETURN(false);
ALLOW_CALL(w[3], is_flat()).RETURN(true);

REQUIRE(all_tyres_ok(w) == false);
}
}
Есть ли способ установить одинаковые ожидания для многих объектов? и, возможно, для некоторых превзойти ожидания?

Код: Выделить всё

forЦикл 
не работает.

Подробнее здесь: https://stackoverflow.com/questions/754 ... rompeloeil

Вернуться в «C++»