Я могу добиться этого, только вручную написав ожидания для каждого объекта массива.тестируемая функция
Код: Выделить всё
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