#include#include int addNumbers(int a, int b) { return a + b; } TEST(ICStubTest, AddNumbersMockTest) { icstub::Stub addNumbersMock(addNumbers); addNumbersMock.return_val(10); EXPECT_EQ(addNumbers(5, 6), 10); }
#includeThis example shows how to mock a virtual method using ICStub. We create a simple class `MyClass` with a virtual method `addNumbers`. We create another class `MyMockClass` that inherits from `MyClass` and overrides the `addNumbers` method. We create an object of the `MyMockClass` and pass it to an ICStub object for `MyClass::addNumbers` method. We expect the result to be 20. Package library: This library is not a part of any package library.#include class MyClass { public: virtual int addNumbers(int a, int b) { return a + b; } }; class MyMockClass : public MyClass { public: int addNumbers(int a, int b) override { return 20; } }; TEST(ICStubTest, MyClassMockTest) { MyMockClass myMockObj; icstub::Stub myStubObj(&MyClass::addNumbers, &myMockObj); EXPECT_EQ(myStubObj.invoke(5, 6), 20); }