Some people call mocking parts of a concrete class a "partial mock".
class A
{
public:
A() {};
virtual ~A() {};
virtual void IncOneStep() {std::cout << "A::IncOneStep() called\n";}
virtual void Inc() {std::cout << "A::Inc() called\n"; IncOneStep();
IncOneStep(); }
};
class Mock_A_IncOneStep : public A
{
public:
Mock_A() {};
virtual ~Mock_A() {};
MOCK_METHOD0(IncOneStep, void(void));
};
TEST(A, IncTest)
{
Mock_A_IncOneStep mock;
A *p = new A();
EXPECT_CALL(mock, IncOneStep()).Times(AtLeast(1));
mock.Inc();
delete p;
}
--
C. Keith Ray
Coach, Trainer, and Developer at Industrial logic, Inc.
http://industriallogic.com "Amplify Your Agility"
Coaching and Live and Web-based Training
Thank you
Paul