]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/core/test/lightweight_test_all_with_fail.cpp
2 // Negative est for BOOST_TEST_ALL_WITH
4 // Copyright (c) 2017 Bjorn Reese
6 // Distributed under the Boost Software License, Version 1.0.
7 // See accompanying file LICENSE_1_0.txt or copy at
8 // http://www.boost.org/LICENSE_1_0.txt
14 #include <boost/core/lightweight_test.hpp>
21 std::vector
<int> x
, y
;
23 BOOST_TEST_ALL_WITH( x
.begin(), x
.end(), y
.begin(), y
.end(), std::equal_to
<int>() );
28 std::vector
<int> x
, y
;
30 BOOST_TEST_ALL_WITH( x
.begin(), x
.end(), y
.begin(), y
.end(), std::equal_to
<int>() );
35 std::vector
<int> x
, y
;
36 x
.push_back( 1 ); x
.push_back( 2 ); x
.push_back( 3 ); x
.push_back( 4 );
37 y
.push_back( 1 ); y
.push_back( 2 ); y
.push_back( 3 );
38 BOOST_TEST_ALL_WITH( x
.begin(), x
.end(), y
.begin(), y
.end(), std::equal_to
<int>() );
43 std::vector
<int> x
, y
;
44 x
.push_back( 1 ); x
.push_back( 2 ); x
.push_back( 3 );
45 y
.push_back( 1 ); y
.push_back( 2 ); y
.push_back( 3 ); y
.push_back( 4 );
46 BOOST_TEST_ALL_WITH( x
.begin(), x
.end(), y
.begin(), y
.end(), std::equal_to
<int>() );
51 std::vector
<int> x
, y
;
52 x
.push_back( 1 ); x
.push_back( 2 ); x
.push_back( 3 ); x
.push_back( 4 );
53 y
.push_back( 1 ); y
.push_back( 3 ); y
.push_back( 2 ); y
.push_back( 4 );
54 BOOST_TEST_ALL_WITH( x
.begin(), x
.end(), y
.begin(), y
.end(), std::equal_to
<int>() );
59 std::vector
<int> x
, y
;
60 x
.push_back( 1 ); x
.push_back( 2 ); x
.push_back( 3 ); x
.push_back( 4 );
61 y
.push_back( 1 ); y
.push_back( 3 ); y
.push_back( 2 ); y
.push_back( 4 );
62 BOOST_TEST_ALL_WITH( x
.begin(), x
.end(), y
.begin(), y
.end(), std::less
<int>() );
72 with_tolerance(T tolerance
) : tolerance(tolerance
) {}
73 bool operator()(T lhs
, T rhs
)
75 return (std::abs(lhs
- rhs
) <= tolerance
);
82 int fail_tolerance_predicate()
87 std::vector
<double> x
, y
;
88 x
.push_back( 1.0 ); x
.push_back( 1.0 );
89 y
.push_back( 1.0 - 1e-4 ); y
.push_back( 1.0 + 1e-4 );
90 BOOST_TEST_ALL_WITH( x
.begin(), x
.end(), y
.begin(), y
.end(), with_tolerance
<double>(1e-5) );
101 test_cases
+= fail_vector();
102 test_cases
+= fail_tolerance_predicate();
104 boost::report_errors();
106 return boost::detail::test_errors() != test_cases
;