1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
#include "hippomocks.h"
#include "Framework.h"
class ID {
public:
virtual ~ID() {}
virtual int f();
virtual std::string g() = 0;
};
TEST (checkRetvalAccepted)
{
MockRepository mocks;
ID *iamock = mocks.Mock<ID>();
mocks.ExpectCall(iamock, ID::f).Return(1);
mocks.ExpectCall(iamock, ID::g).Return("fsck");
iamock->f();
iamock->g();
}
TEST (checkRetvalProper)
{
MockRepository mocks;
ID *iamock = mocks.Mock<ID>();
mocks.ExpectCall(iamock, ID::f).Return(1);
mocks.ExpectCall(iamock, ID::g).Return("fsck");
CHECK(iamock->f() == 1);
CHECK(iamock->g() == "fsck");
}
bool replace_g_called = false;
std::string replace_g()
{
replace_g_called = true;
return "";
}
TEST (checkRetvalAfterDo)
{
MockRepository mocks;
ID *iamock = mocks.Mock<ID>();
mocks.ExpectCall(iamock, ID::g).Do(replace_g).Return("fsck");
replace_g_called = false;
CHECK(iamock->g() == "fsck");
CHECK(replace_g_called);
}
|