• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //  (C) Copyright Raffi Enficiaud 2017.
2 //  Distributed under the Boost Software License, Version 1.0.
3 //  (See accompanying file LICENSE_1_0.txt or copy at
4 //  http://www.boost.org/LICENSE_1_0.txt)
5 
6 //  See http://www.boost.org/libs/test for the library home page.
7 
8 //[example_code
9 #define BOOST_TEST_MODULE fixture_04
10 #include <boost/test/included/unit_test.hpp>
11 
12 struct MyGlobalFixture {
MyGlobalFixtureMyGlobalFixture13   MyGlobalFixture() {
14       BOOST_TEST_MESSAGE( "ctor fixture i=" << i );
15   }
setupMyGlobalFixture16   void setup() {
17       BOOST_TEST_MESSAGE( "setup fixture i=" << i );
18       i++;
19   }
teardownMyGlobalFixture20   void teardown() {
21       BOOST_TEST_MESSAGE( "teardown fixture i=" << i );
22       i += 2;
23   }
~MyGlobalFixtureMyGlobalFixture24   ~MyGlobalFixture() {
25       BOOST_TEST_MESSAGE( "dtor fixture i=" << i );
26   }
27   static int i;
28 };
29 int MyGlobalFixture::i = 0;
30 
31 BOOST_TEST_GLOBAL_FIXTURE( MyGlobalFixture );
32 
BOOST_AUTO_TEST_CASE(test_case1)33 BOOST_AUTO_TEST_CASE(test_case1)
34 {
35   BOOST_TEST_MESSAGE("running test_case1");
36   BOOST_TEST(MyGlobalFixture::i == 1);
37 }
38 
BOOST_AUTO_TEST_CASE(test_case2)39 BOOST_AUTO_TEST_CASE(test_case2)
40 {
41   BOOST_TEST_MESSAGE("running test_case2");
42   BOOST_TEST(MyGlobalFixture::i == 3);
43 }
44 //]
45