Advertisement
Guest User

Untitled

a guest
Feb 20th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.70 KB | None | 0 0
  1. // production code:
  2. Group::add(Element* e) {...};
  3. Group::remove(Element* e) {...};
  4. ElementDerived::ElementDerived(Group* group){ group->add(this);}
  5. ElementDerived::~ElementDerived(Group* group){ group->remove(this);}
  6.  
  7. // test code:
  8. struct Test_ElementDerived : public ::testing::Test {
  9. void SetUp() override {
  10. ElementDerived* p = nullptr;
  11. EXPECT_CALL(group, add(_)) // how to set expection on the pointer argument?
  12. .WillOnce(Invoke([&p](auto base_ptr) {
  13. p = static_cast<ElementDerived*>(base_ptr);
  14. }));
  15. sut = std::make_unique<ElementDerived>(&group);
  16. }
  17. void TearDown() override {
  18. EXPECT_CALL(group, remove(sut.get()));
  19. }
  20. MockGroup group{};
  21. std::unique_ptr<> sut;
  22. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement