Google próbna metoda ByRef

Mam klasę, która pobiera wartość logiczną jako parametr odniesienia i zwraca liczbę całkowitą:

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;
  }

}

I stworzyłem próbę dla tej klasy:

class MockFoo : public Foo
{
   MOCK_METHOD1(myMethod,int(bool &my_boolean));
}

Mam problemy z ustawieniem oczekiwań dla tego rodzaju funkcji, ponieważ muszę ustawić wartość zwracanąi parametr referencyjny do określonych wartości, aby poprawnie utworzyć moje testy jednostkowe. Jak mogę radzić sobie z tego rodzaju funkcją z gmock? Próbowałem postępować zgodnie z tym, co uważałem za rozwiązanie w dokumentacji:

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));

Ale albo nie zrozumiałem tego przykładu, albo nie miało to zastosowania w tym przypadku. Czy ktoś wcześniej zajmował się tą sytuacją?

Z góry dziękuję.

questionAnswers(1)

yourAnswerToTheQuestion