1 // Boost.Range library
2 //
3 //  Copyright Neil Groves 2010. Use, modification and
4 //  distribution is subject to the Boost Software License, Version
5 //  1.0. (See accompanying file LICENSE_1_0.txt or copy at
6 //  http://www.boost.org/LICENSE_1_0.txt)
7 //
8 #include <boost/range/adaptor/type_erased.hpp>
9 #include "type_erased_test.hpp"
10 
11 #include <boost/test/unit_test.hpp>
12 
13 #include <deque>
14 #include <list>
15 #include <vector>
16 
17 namespace boost_range_adaptor_type_erased_test
18 {
19     namespace
20     {
21 
test_single_pass()22 void test_single_pass()
23 {
24     test_type_erased_exercise_buffer_types<
25             std::list<int>, boost::single_pass_traversal_tag>();
26 
27     test_type_erased_exercise_buffer_types<
28             std::deque<int>, boost::single_pass_traversal_tag>();
29 
30     test_type_erased_exercise_buffer_types<
31             std::vector<int>, boost::single_pass_traversal_tag>();
32 
33     test_type_erased_exercise_buffer_types<
34             std::list<MockType>, boost::single_pass_traversal_tag>();
35 
36     test_type_erased_exercise_buffer_types<
37             std::deque<MockType>, boost::single_pass_traversal_tag>();
38 
39     test_type_erased_exercise_buffer_types<
40             std::vector<MockType>, boost::single_pass_traversal_tag>();
41 }
42 
43     } // anonymous namespace
44 } // namespace boost_range_adaptor_type_erased_test
45 
46 boost::unit_test::test_suite*
init_unit_test_suite(int argc,char * argv[])47 init_unit_test_suite(int argc, char* argv[])
48 {
49     boost::unit_test::test_suite* test =
50         BOOST_TEST_SUITE("RangeTestSuite.adaptor.type_erased_single_pass");
51 
52     test->add(BOOST_TEST_CASE(
53         &boost_range_adaptor_type_erased_test::test_single_pass));
54 
55     return test;
56 }
57 
58