// (C) Copyright Eric Niebler 2005. // Use, modification and distribution are subject to the // Boost Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #include #include #include #include #include #include #include using namespace boost; using namespace unit_test; using namespace accumulators; /////////////////////////////////////////////////////////////////////////////// // test_stat // void test_stat() { accumulator_set > acc; acc(1); BOOST_CHECK_EQUAL(1, (max)(acc)); acc(0); BOOST_CHECK_EQUAL(1, (max)(acc)); acc(2); BOOST_CHECK_EQUAL(2, (max)(acc)); } /////////////////////////////////////////////////////////////////////////////// // test_persistency // void test_persistency() { std::stringstream ss; { accumulator_set > acc; acc(1); acc(0); acc(2); BOOST_CHECK_EQUAL(2u, max(acc)); boost::archive::text_oarchive oa(ss); acc.serialize(oa, 0); } accumulator_set > acc; boost::archive::text_iarchive ia(ss); acc.serialize(ia, 0); BOOST_CHECK_EQUAL(2u, max(acc)); } /////////////////////////////////////////////////////////////////////////////// // init_unit_test_suite // test_suite* init_unit_test_suite( int argc, char* argv[] ) { test_suite *test = BOOST_TEST_SUITE("max test"); test->add(BOOST_TEST_CASE(&test_stat)); test->add(BOOST_TEST_CASE(&test_persistency)); return test; }