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