Я новичок в тесте Google и начал работать над имитацией объекта, после того, как он издевался над объектом, всегда вызывался мой оригинальный метод - PullRequest
0 голосов
/ 08 ноября 2018

Оригинальный прототип функции

virtual void GetSegment(const std::string& polygonId,
                        mi::Uint32& numSegment,
                        std::vector<std::vector<mi::math::Vector_struct<mi::Float32, 3>>>* points,
                        std::vector<mi::Uint32>* exclusive);

Насмешка над моей функцией

MOCK_METHOD4(GetSegment,
             void(const std::string&, mi::Uint32&, std::vector<std::vector<mi::math::Vector_struct<mi::Float32, 3>>>*,
                  std::vector<mi::Uint32>*));

А вот и мои действия.

mi::Uint32 numSegment = 1;
std::vector<mi::Uint32> exclusive(0);
std::vector<std::vector<mi::math::Vector_struct<mi::Float32, 3> >> points{
    {{50.8981,  213.265, 125},
     {117.287,  184.577, 125},
     {215.488,  129.682, 125},
     {276.487,  92.0992, 125}}};

ON_CALL(*mock.get(), GetSegment(refrenceId, _, _, _)).
  WillByDefault(DoAll(SetArgReferee<1>(numSegment), SetArgPointee<2>(points), SetArgPointee<3>(exclusive)));

После вызова функции всегда вызывается мой оригинал.

...