]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/functional/hash/test/hash_range_test.cpp
2 // Copyright 2005-2009 Daniel James.
3 // Distributed under the Boost Software License, Version 1.0. (See accompanying
4 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 #include "./config.hpp"
8 #if !defined(BOOST_HASH_TEST_EXTENSIONS)
14 #ifdef BOOST_HASH_TEST_STD_INCLUDES
15 # include <functional>
17 # include <boost/functional/hash.hpp>
20 #include <boost/detail/lightweight_test.hpp>
21 #include <boost/limits.hpp>
24 void hash_range_tests()
26 std::vector
<int> empty
, values1
, values2
, values3
, values4
, values5
;
28 values2
.push_back(10);
29 values3
.push_back(10);
30 values3
.push_back(20);
31 values4
.push_back(15);
32 values4
.push_back(75);
33 values5
.push_back(10);
34 values5
.push_back(20);
35 values5
.push_back(15);
36 values5
.push_back(75);
37 values5
.push_back(10);
38 values5
.push_back(20);
42 std::size_t x_seed
= 0;
43 BOOST_TEST(x_seed
== BOOST_HASH_TEST_NAMESPACE::hash_range(x
.begin(), x
.end()));
45 BOOST_TEST(BOOST_HASH_TEST_NAMESPACE::hash_range(empty
.begin(), empty
.end())
46 == BOOST_HASH_TEST_NAMESPACE::hash_range(x
.begin(), x
.end()));
47 BOOST_TEST(BOOST_HASH_TEST_NAMESPACE::hash_range(empty
.begin(), empty
.end())
48 != BOOST_HASH_TEST_NAMESPACE::hash_range(values1
.begin(), values1
.end()));
51 BOOST_HASH_TEST_NAMESPACE::hash_combine(x_seed
, 10);
52 BOOST_TEST(x_seed
== BOOST_HASH_TEST_NAMESPACE::hash_range(x
.begin(), x
.end()));
54 BOOST_TEST(BOOST_HASH_TEST_NAMESPACE::hash_range(empty
.begin(), empty
.end())
55 != BOOST_HASH_TEST_NAMESPACE::hash_range(x
.begin(), x
.end()));
56 BOOST_TEST(BOOST_HASH_TEST_NAMESPACE::hash_range(values2
.begin(), values2
.end())
57 == BOOST_HASH_TEST_NAMESPACE::hash_range(x
.begin(), x
.end()));
60 BOOST_HASH_TEST_NAMESPACE::hash_combine(x_seed
, 20);
61 BOOST_TEST(x_seed
== BOOST_HASH_TEST_NAMESPACE::hash_range(x
.begin(), x
.end()));
63 BOOST_TEST(BOOST_HASH_TEST_NAMESPACE::hash_range(empty
.begin(), empty
.end())
64 != BOOST_HASH_TEST_NAMESPACE::hash_range(x
.begin(), x
.end()));
65 BOOST_TEST(BOOST_HASH_TEST_NAMESPACE::hash_range(values2
.begin(), values2
.end())
66 != BOOST_HASH_TEST_NAMESPACE::hash_range(x
.begin(), x
.end()));
67 BOOST_TEST(BOOST_HASH_TEST_NAMESPACE::hash_range(values3
.begin(), values3
.end())
68 == BOOST_HASH_TEST_NAMESPACE::hash_range(x
.begin(), x
.end()));
71 BOOST_HASH_TEST_NAMESPACE::hash_range(values3
.begin(), values3
.end());
72 BOOST_HASH_TEST_NAMESPACE::hash_range(seed
, values4
.begin(), values4
.end());
73 BOOST_HASH_TEST_NAMESPACE::hash_range(seed
, x
.begin(), x
.end());
75 BOOST_HASH_TEST_NAMESPACE::hash_range(values5
.begin(), values5
.end()));
82 return boost::report_errors();
85 #endif // TEST_EXTESNIONS