Как подменить функцию в google test
- У меня есть функция
testable, которую я тестирую. - Внутри используется функция
foo, которую мне нужно как-то подменить.
--
int foo(int a){
if (a > 0)
return 42;
else
return 13;
}
int testable(int a){
return foo(a) * 2;
}
В тесте мне нужно протестировать функцию testable, но мне нужно, чтобы внутри использовалась другая функция вместо foo.
TEST(Test, Test1){
// Тут я хочу, чтобы функция 'testable' использовала
// не настоящую 'foo', а некую подмену.
// foo(1) -> 10;
// foo(12) -> 120;
// foo(-3) -> -30;
// иначе -> 0;
EXPECT_EQ(testable(1), 20);
EXPECT_EQ(testable(12), 240);
EXPECT_EQ(testable(-3), -60);
EXPECT_EQ(testable(666), 0);
}
Можно это как-то организовать?