Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // production code:
- Group::add(Element* e) {...};
- Group::remove(Element* e) {...};
- ElementDerived::ElementDerived(Group* group){ group->add(this);}
- ElementDerived::~ElementDerived(Group* group){ group->remove(this);}
- // test code:
- struct Test_ElementDerived : public ::testing::Test {
- void SetUp() override {
- ElementDerived* p = nullptr;
- EXPECT_CALL(group, add(_)) // how to set expection on the pointer argument?
- .WillOnce(Invoke([&p](auto base_ptr) {
- p = static_cast<ElementDerived*>(base_ptr);
- }));
- sut = std::make_unique<ElementDerived>(&group);
- }
- void TearDown() override {
- EXPECT_CALL(group, remove(sut.get()));
- }
- MockGroup group{};
- std::unique_ptr<> sut;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement