]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/test/test/test-organization-ts/datasets-test/implicit-test.cpp
1 // (C) Copyright Gennadiy Rozental 2011-2015.
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)
6 // See http://www.boost.org/libs/test for the library home page.
10 // Version : $Revision$
12 // Description : tests implicit interfaces
13 // ***************************************************************************
16 #include <boost/test/unit_test.hpp>
17 #include <boost/test/data/monomorphic.hpp>
18 #include <boost/test/data/for_each_sample.hpp>
19 namespace data
=boost::unit_test::data
;
21 #include "datasets-test.hpp"
23 //____________________________________________________________________________//
25 BOOST_AUTO_TEST_CASE( test_implicit_for_each
)
27 data::for_each_sample( 2, check_arg_type
<int>() );
29 data::for_each_sample( "ch", check_arg_type
<char const*>() );
30 data::for_each_sample( 2., check_arg_type
<double>() );
31 data::for_each_sample( std::vector
<int>( 3 ), check_arg_type
<int>() );
32 data::for_each_sample( std::list
<double>( 2 ), check_arg_type
<double>() );
36 data::for_each_sample( std::vector
<int>( 3 ), ic
);
37 BOOST_TEST( ic
.m_value
== 3 );
40 data::for_each_sample( std::list
<double>( 2 ), ic
, 1 );
41 BOOST_TEST( ic
.m_value
== 1 );
43 std::vector
<copy_count
> samples1( 2 );
44 copy_count::value() = 0; // we do not test the construction of the vector
45 data::for_each_sample( samples1
, check_arg_type
<copy_count
>() );
46 BOOST_TEST( copy_count::value() == 0 );
48 copy_count::value() = 0;
49 copy_count samples2
[] = { copy_count(), copy_count() };
50 data::for_each_sample( samples2
, check_arg_type
<copy_count
>() );
51 BOOST_TEST( copy_count::value() == 0 );
54 //____________________________________________________________________________//
56 BOOST_AUTO_TEST_CASE( test_implicit_join
)
58 auto ds
= data::make( 5 );
59 BOOST_TEST( (1 + ds
).size() == 2 );
60 BOOST_TEST( (ds
+ 1).size() == 2 );
62 BOOST_TEST( (1 + data::make( 5 )).size() == 2 );
63 BOOST_TEST( (data::make( 5 ) + 1).size() == 2 );
66 //____________________________________________________________________________//
68 BOOST_AUTO_TEST_CASE( test_implicit_zip
)
70 auto ds
= data::make( 5 );
71 BOOST_TEST( (1 ^ ds
).size() == 1 );
72 BOOST_TEST( (ds
^ 1).size() == 1 );
74 BOOST_TEST( (1 ^ data::make( 5 )).size() == 1 );
75 BOOST_TEST( (data::make( 5 ) ^ 1).size() == 1 );
78 //____________________________________________________________________________//