// Copyright 2005-2009 Daniel James. // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #include "./config.hpp" #ifdef BOOST_HASH_TEST_EXTENSIONS # ifdef BOOST_HASH_TEST_STD_INCLUDES # include # else # include # endif #endif #include #ifdef BOOST_HASH_TEST_EXTENSIONS #include using std::vector; #define CONTAINER_TYPE vector #include "./hash_sequence_test.hpp" #endif // BOOST_HASH_TEST_EXTENSIONS namespace vector_bool_tests { void vector_bool_test() { std::vector x_empty1,x_empty2,x1,x1a,x2,x3; x1.push_back(0); x1a.push_back(0); x2.push_back(1); x3.push_back(0); x3.push_back(0); BOOST_HASH_TEST_NAMESPACE::hash > hasher; BOOST_TEST_EQ(hasher(x_empty1), hasher(x_empty1)); BOOST_TEST_EQ(hasher(x_empty1), hasher(x_empty2)); BOOST_TEST_NE(hasher(x_empty1), hasher(x1)); BOOST_TEST_NE(hasher(x_empty1), hasher(x2)); BOOST_TEST_NE(hasher(x_empty1), hasher(x3)); BOOST_TEST_EQ(hasher(x1), hasher(x1)); BOOST_TEST_EQ(hasher(x1), hasher(x1a)); BOOST_TEST_NE(hasher(x1), hasher(x2)); BOOST_TEST_NE(hasher(x1), hasher(x3)); BOOST_TEST_EQ(hasher(x2), hasher(x2)); BOOST_TEST_NE(hasher(x2), hasher(x3)); BOOST_TEST_EQ(hasher(x3), hasher(x3)); } } int main() { #ifdef BOOST_HASH_TEST_EXTENSIONS vector_tests::vector_hash_integer_tests(); #endif vector_bool_tests::vector_bool_test(); return boost::report_errors(); }