1 //  (C) Copyright Eric Niebler 2005.
2 //  Use, modification and distribution are subject to the
3 //  Boost Software License, Version 1.0. (See accompanying file
4 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 
6 #include <boost/test/unit_test.hpp>
7 #include <boost/accumulators/accumulators.hpp>
8 #include <boost/accumulators/statistics/stats.hpp>
9 
10 using namespace boost;
11 using namespace unit_test;
12 using namespace accumulators;
13 
14 namespace my
15 {
16     BOOST_PARAMETER_KEYWORD(tag, int_val)
17 }
18 
19 ///////////////////////////////////////////////////////////////////////////////
20 // test_stat
21 //
test_stat()22 void test_stat()
23 {
24     int i = 42;
25     accumulator_set<double, stats<tag::value<int, my::tag::int_val> > > acc2(
26         my::int_val = i);
27 
28     int val1 = value<int, my::tag::int_val>(acc2);
29     int val2 = value_tag<my::tag::int_val>(acc2);
30 
31     BOOST_CHECK_EQUAL(i, val1);
32     BOOST_CHECK_EQUAL(i, val2);
33 }
34 
35 ///////////////////////////////////////////////////////////////////////////////
36 // init_unit_test_suite
37 //
init_unit_test_suite(int argc,char * argv[])38 test_suite* init_unit_test_suite( int argc, char* argv[] )
39 {
40     test_suite *test = BOOST_TEST_SUITE("value_accumulator test");
41 
42     test->add(BOOST_TEST_CASE(&test_stat));
43 
44     return test;
45 }
46