iodrivers_base
FixtureBoostTest.hpp
Go to the documentation of this file.
1 #ifndef IODRIVERS_BASE_BOOST_HPP
2 #define IODRIVERS_BASE_BOOST_HPP
3 
4 #include <boost/test/unit_test.hpp>
5 #include <iodrivers_base/Fixture.hpp>
6 
7 #define IODRIVERS_BASE_MOCK() iodrivers_base::Fixture<fixture_driver_t>::BoostMockContext __context(this);
8 
9 namespace iodrivers_base {
10  template<typename Driver>
12  {
13  public:
15  BoostMockContext(Fixture* fixture): fixture(fixture)
16  {
17  fixture->setMockMode(true);
18  }
19 
20  void tearDown()
21  {
22  try
23  {
24  fixture->validateExpectationsAreEmpty();
25  }
27  {
28  BOOST_ERROR("IODRIVERS_BASE_MOCK Error: Test reached its end without satisfying all expecations.");
29  }
30  }
31 
33  {
34  tearDown();
35  fixture->setMockMode(false);
36  }
37 
38  };
39 }
40 
41 #endif
void tearDown()
Definition: FixtureBoostTest.hpp:20
Definition: Driver.hpp:69
void setMockMode(bool mode)
Definition: Fixture.hpp:182
Definition: Fixture.hpp:76
Definition: Exceptions.hpp:44
BoostMockContext(Fixture *fixture)
Definition: FixtureBoostTest.hpp:15
Definition: FixtureBoostTest.hpp:11
Fixture * fixture
Definition: FixtureBoostTest.hpp:14
~BoostMockContext()
Definition: FixtureBoostTest.hpp:32