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)33BOOST_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)39BOOST_AUTO_TEST_CASE(test_case2) 40 { 41 BOOST_TEST_MESSAGE("running test_case2"); 42 BOOST_TEST(MyGlobalFixture::i == 3); 43 } 44 //] 45