eranpeer / FakeIt

C++ mocking made easy. A simple yet very expressive, headers only library for c++ mocking.
MIT License
1.24k stars 170 forks source link

Mocking/Spy arrays of objects #128

Open jlkalberer opened 6 years ago

jlkalberer commented 6 years ago

Hi, I was wondering if there is an easy way to mock items in an array? I have code that looks like this:

class T {
  virtual int Run() {}
};

void Fn(T* items, int length) {
  for (int ii = 0; ii < length; ii++) {
    items[ii].Run();
  }
}

I'm trying to mock the items like this:

T items[2];
Mock<T> mock(items[0]);
Mock<T> mock2(items[1]);
When(Method(mock, Run)).AlwaysReturn(0);
When(Method(mock2, Run)).AlwaysReturn(1);

Fn(items, 2);