Google simula o método ByRef
Eu tenho uma classe que leva um booleano como parâmetro de referência e retorna um inteiro:
class Foo
{
public:
Bar my_bar;
virtual int myMethod(bool &my_boolean) = 0;
}
/*...*/
int Foo::myMethod(bool &my_boolean){
if (my_bar == NULL){
my_boolean = false;
return -1;
}
else{
my_boolean = true;
return 0;
}
}
E criei uma simulação para essa classe:
class MockFoo : public Foo
{
MOCK_METHOD1(myMethod,int(bool &my_boolean));
}
Estou tendo problemas em como definir as expectativas para esse tipo de função, porque preciso definir o valor de retornoe o parâmetro de referência para valores específicos para criar corretamente meus testes unitários.Como posso lidar com esse tipo de função com o gmock? Eu tentei seguir o que eu achava que era a solução na documentação:
using ::testing::SetArgPointee;
class MockMutator : public Mutator {
public:
MOCK_METHOD2(Mutate, void(bool mutate, int* value));
...
};
...
MockMutator mutator;
EXPECT_CALL(mutator, Mutate(true, _))
.WillOnce(SetArgPointee<1>(5));
Mas ou eu não entendi o exemplo ou não era aplicável para este caso. Alguém já lidou com esse tipo de situação antes?
Desde já, obrigado.