From 9cfee57633b47b91abcbebed6ed88669e43f8799 Mon Sep 17 00:00:00 2001 From: Daniel James Date: Thu, 17 Apr 2008 07:39:24 +0000 Subject: [PATCH] Use Boost.Test's minimal test library for unordered & hash. It's closer to Boster.Test which makes it easier to switch to take advantage of Boost.Test's extra testing facilities. Merged revisions 44420 via svnmerge from https://svn.boost.org/svn/boost/branches/unordered/trunk ........ r44420 | danieljames | 2008-04-14 19:02:03 +0100 (Mon, 14 Apr 2008) | 1 line Use Boost.Test's minimal test library. ........ [SVN r44487] --- test/exception/erase_exception_tests.cpp | 2 +- test/exception/insert_exception_tests.cpp | 14 +-- test/exception/swap_exception_tests.cpp | 4 +- test/helpers/exception_test.hpp | 6 +- test/helpers/test.hpp | 10 +- test/helpers/tracker.hpp | 4 +- test/objects/memory.hpp | 18 ++-- test/unordered/assign_tests.cpp | 18 ++-- test/unordered/at_tests.cpp | 4 +- test/unordered/bucket_tests.cpp | 14 +-- test/unordered/compile_tests.hpp | 10 +- test/unordered/constructor_tests.cpp | 122 +++++++++++----------- test/unordered/copy_tests.cpp | 36 +++---- test/unordered/erase_equiv_tests.cpp | 12 +-- test/unordered/erase_tests.cpp | 44 ++++---- test/unordered/find_tests.cpp | 20 ++-- test/unordered/insert_stable_tests.cpp | 28 ++--- test/unordered/insert_tests.cpp | 85 +++++++-------- test/unordered/load_factor_tests.cpp | 10 +- test/unordered/move_tests.cpp | 44 ++++---- test/unordered/rehash_tests.cpp | 12 +-- test/unordered/simple_tests.cpp | 46 ++++---- test/unordered/unnecessary_copy_tests.cpp | 4 +- 23 files changed, 282 insertions(+), 285 deletions(-) diff --git a/test/exception/erase_exception_tests.cpp b/test/exception/erase_exception_tests.cpp index 67b12682..85216285 100644 --- a/test/exception/erase_exception_tests.cpp +++ b/test/exception/erase_exception_tests.cpp @@ -25,7 +25,7 @@ struct erase_test_base : public test::exception_base void check(T const& x) const { std::string scope(test::scope); - UNORDERED_CHECK(scope.find("hash::") != std::string::npos || + BOOST_CHECK(scope.find("hash::") != std::string::npos || scope.find("equal_to::") != std::string::npos || scope == "operator==(object, object)"); diff --git a/test/exception/insert_exception_tests.cpp b/test/exception/insert_exception_tests.cpp index 65d78a4f..47fd2db7 100644 --- a/test/exception/insert_exception_tests.cpp +++ b/test/exception/insert_exception_tests.cpp @@ -109,10 +109,10 @@ struct insert_test_rehash1 : public insert_test_base size_type bucket_count = x.bucket_count(); size_type initial_elements = static_cast( ceil(bucket_count * (double) x.max_load_factor()) - 1); - UNORDERED_REQUIRE(initial_elements < this->values.size()); + BOOST_REQUIRE(initial_elements < this->values.size()); x.insert(this->values.begin(), boost::next(this->values.begin(), initial_elements)); - UNORDERED_REQUIRE(bucket_count == x.bucket_count()); + BOOST_REQUIRE(bucket_count == x.bucket_count()); return x; } @@ -131,7 +131,7 @@ struct insert_test_rehash1 : public insert_test_base // This isn't actually a failure, but it means the test isn't doing its // job. - UNORDERED_REQUIRE(x.bucket_count() != bucket_count); + BOOST_REQUIRE(x.bucket_count() != bucket_count); } }; @@ -154,7 +154,7 @@ struct insert_test_rehash2 : public insert_test_rehash1 // This isn't actually a failure, but it means the test isn't doing its // job. - UNORDERED_REQUIRE(x.bucket_count() != bucket_count); + BOOST_REQUIRE(x.bucket_count() != bucket_count); } }; @@ -178,10 +178,10 @@ struct insert_test_rehash3 : public insert_test_base size_type initial_elements = rehash_bucket_count - 5; - UNORDERED_REQUIRE(initial_elements < this->values.size()); + BOOST_REQUIRE(initial_elements < this->values.size()); x.insert(this->values.begin(), boost::next(this->values.begin(), initial_elements)); - UNORDERED_REQUIRE(original_bucket_count == x.bucket_count()); + BOOST_REQUIRE(original_bucket_count == x.bucket_count()); return x; } @@ -193,7 +193,7 @@ struct insert_test_rehash3 : public insert_test_base // This isn't actually a failure, but it means the test isn't doing its // job. - UNORDERED_REQUIRE(x.bucket_count() != bucket_count); + BOOST_REQUIRE(x.bucket_count() != bucket_count); } void check(T const& x) const { diff --git a/test/exception/swap_exception_tests.cpp b/test/exception/swap_exception_tests.cpp index a2333d98..9fcd425e 100644 --- a/test/exception/swap_exception_tests.cpp +++ b/test/exception/swap_exception_tests.cpp @@ -22,7 +22,7 @@ struct self_swap_base : public test::exception_base std::string scope(test::scope); #if BOOST_UNORDERED_SWAP_METHOD != 2 - UNORDERED_CHECK( + BOOST_CHECK( scope == "hash::operator(hash)" || scope == "hash::operator=(hash)" || scope == "equal_to::operator(equal_to)" || @@ -77,7 +77,7 @@ struct swap_base : public test::exception_base std::string scope(test::scope); #if BOOST_UNORDERED_SWAP_METHOD != 2 - UNORDERED_CHECK( + BOOST_CHECK( scope == "hash::operator(hash)" || scope == "hash::operator=(hash)" || scope == "equal_to::operator(equal_to)" || diff --git a/test/helpers/exception_test.hpp b/test/helpers/exception_test.hpp index 13937de6..b26042f0 100644 --- a/test/helpers/exception_test.hpp +++ b/test/helpers/exception_test.hpp @@ -8,7 +8,7 @@ #include "./test.hpp" -#if defined(BOOST_UNORDERED_USE_TEST) +#if defined(BOOST_UNORDERED_FULL_TEST) # define BOOST_TEST_MAIN # include # include @@ -18,7 +18,7 @@ #include #include -#if defined(BOOST_UNORDERED_USE_TEST) +#if defined(BOOST_UNORDERED_FULL_TEST) # define UNORDERED_EXCEPTION_TEST_CASE(name, test_func, type) \ UNORDERED_AUTO_TEST(name) \ { \ @@ -181,7 +181,7 @@ namespace test { -#if defined(BOOST_UNORDERED_USE_TEST) +#if defined(BOOST_UNORDERED_FULL_TEST) template void exception_safety(Test const& f, char const* name) { test_runner runner(f); diff --git a/test/helpers/test.hpp b/test/helpers/test.hpp index afed35fe..532f56fb 100644 --- a/test/helpers/test.hpp +++ b/test/helpers/test.hpp @@ -6,21 +6,17 @@ #if !defined(BOOST_UNORDERED_TEST_TEST_HEADER) #define BOOST_UNORDERED_TEST_TEST_HEADER -#if defined(BOOST_UNORDERED_USE_TEST) +#if defined(BOOST_UNORDERED_FULL_TEST) #include -#define UNORDERED_CHECK(x) BOOST_CHECK(x) -#define UNORDERED_REQUIRE(x) BOOST_REQUIRE(x) #define UNORDERED_AUTO_TEST(x) BOOST_AUTO_TEST_CASE(x) #define RUN_TESTS() #else -#include +#include #include -#define UNORDERED_CHECK(x) BOOST_TEST(x) -#define UNORDERED_REQUIRE(x) if(!(x)) { BOOST_ERROR(BOOST_STRINGIZE(x)); throw ::test::lightweight::test_failure(); } #define UNORDERED_AUTO_TEST(x) \ struct BOOST_PP_CAT(x, _type) : public ::test::registered_test_base { \ BOOST_PP_CAT(x, _type)() { \ @@ -30,7 +26,7 @@ }; \ BOOST_PP_CAT(x, _type) x; \ void BOOST_PP_CAT(x, _type)::run() -#define RUN_TESTS() int main() { ::test::test_list::run_tests(); return boost::report_errors(); } +#define RUN_TESTS() int test_main(int, char**) { ::test::test_list::run_tests(); return 0; } namespace test { struct registered_test_base { diff --git a/test/helpers/tracker.hpp b/test/helpers/tracker.hpp index 5373ad88..8fd7d6fb 100644 --- a/test/helpers/tracker.hpp +++ b/test/helpers/tracker.hpp @@ -51,7 +51,7 @@ namespace test std::copy(x2.begin(), x2.end(), std::back_inserter(values2)); std::sort(values1.begin(), values1.end()); std::sort(values2.begin(), values2.end()); - BOOST_TEST(values1.size() == values2.size() && + BOOST_CHECK(values1.size() == values2.size() && std::equal(values1.begin(), values1.end(), values2.begin(), test::equivalent)); } @@ -65,7 +65,7 @@ namespace test std::copy(x2.first, x2.second, std::back_inserter(values2)); std::sort(values1.begin(), values1.end()); std::sort(values2.begin(), values2.end()); - BOOST_TEST(values1.size() == values2.size() && + BOOST_CHECK(values1.size() == values2.size() && std::equal(values1.begin(), values1.end(), values2.begin(), test::equivalent)); } diff --git a/test/objects/memory.hpp b/test/objects/memory.hpp index d4e86f99..ae68baf5 100644 --- a/test/objects/memory.hpp +++ b/test/objects/memory.hpp @@ -103,7 +103,7 @@ namespace test void allocator_unref() { - UNORDERED_CHECK(count_allocators > 0); + BOOST_CHECK(count_allocators > 0); if(count_allocators > 0) { --count_allocators; if(count_allocators == 0) { @@ -116,9 +116,9 @@ namespace test count_constructions = 0; allocated_memory.clear(); - UNORDERED_CHECK(no_allocations_left); - UNORDERED_CHECK(no_constructions_left); - UNORDERED_CHECK(allocated_memory_empty); + BOOST_CHECK(no_allocations_left); + BOOST_CHECK(no_constructions_left); + BOOST_CHECK(allocated_memory_empty); } } } @@ -144,12 +144,12 @@ namespace test if(pos == allocated_memory.end()) { BOOST_ERROR("Deallocating unknown pointer."); } else { - UNORDERED_CHECK(pos->first.start == ptr); - UNORDERED_CHECK(pos->first.end == (char*) ptr + n * size); - UNORDERED_CHECK(pos->second.tag_ == tag); + BOOST_CHECK(pos->first.start == ptr); + BOOST_CHECK(pos->first.end == (char*) ptr + n * size); + BOOST_CHECK(pos->second.tag_ == tag); allocated_memory.erase(pos); } - UNORDERED_CHECK(count_allocations > 0); + BOOST_CHECK(count_allocations > 0); if(count_allocations > 0) --count_allocations; } @@ -160,7 +160,7 @@ namespace test void track_destroy(void* ptr, std::size_t /*size*/, int tag) { - UNORDERED_CHECK(count_constructions > 0); + BOOST_CHECK(count_constructions > 0); if(count_constructions > 0) --count_constructions; } }; diff --git a/test/unordered/assign_tests.cpp b/test/unordered/assign_tests.cpp index 54d3aab1..bb8daff8 100644 --- a/test/unordered/assign_tests.cpp +++ b/test/unordered/assign_tests.cpp @@ -27,9 +27,9 @@ void assign_tests1(T*, test::random_generator generator = test::default_generato { T x; x = x; - BOOST_TEST(x.empty()); - BOOST_TEST(test::equivalent(x.hash_function(), hf)); - BOOST_TEST(test::equivalent(x.key_eq(), eq)); + BOOST_CHECK(x.empty()); + BOOST_CHECK(test::equivalent(x.hash_function(), hf)); + BOOST_CHECK(test::equivalent(x.key_eq(), eq)); } std::cerr<<"assign_tests1.2\n"; @@ -47,7 +47,7 @@ void assign_tests1(T*, test::random_generator generator = test::default_generato y.max_load_factor(x.max_load_factor() / 20); y = x; tracker.compare(y); - BOOST_TEST(x.max_load_factor() == y.max_load_factor()); + BOOST_CHECK(x.max_load_factor() == y.max_load_factor()); } } @@ -67,8 +67,8 @@ void assign_tests2(T*, test::random_generator generator = test::default_generato T x1(v.begin(), v.end(), 0, hf1, eq1); T x2(0, hf2, eq2); x2 = x1; - BOOST_TEST(test::equivalent(x2.hash_function(), hf1)); - BOOST_TEST(test::equivalent(x2.key_eq(), eq1)); + BOOST_CHECK(test::equivalent(x2.hash_function(), hf1)); + BOOST_CHECK(test::equivalent(x2.key_eq(), eq1)); test::check_container(x2, v); } @@ -78,9 +78,9 @@ void assign_tests2(T*, test::random_generator generator = test::default_generato T x1(v1.begin(), v1.end(), 0, hf1, eq1, al1); T x2(v2.begin(), v2.end(), 0, hf2, eq2, al2); x2 = x1; - BOOST_TEST(test::equivalent(x2.hash_function(), hf1)); - BOOST_TEST(test::equivalent(x2.key_eq(), eq1)); - BOOST_TEST(test::equivalent(x2.get_allocator(), al2)); + BOOST_CHECK(test::equivalent(x2.hash_function(), hf1)); + BOOST_CHECK(test::equivalent(x2.key_eq(), eq1)); + BOOST_CHECK(test::equivalent(x2.get_allocator(), al2)); test::check_container(x2, v1); } } diff --git a/test/unordered/at_tests.cpp b/test/unordered/at_tests.cpp index 16c2b495..12ec0222 100644 --- a/test/unordered/at_tests.cpp +++ b/test/unordered/at_tests.cpp @@ -16,8 +16,8 @@ UNORDERED_AUTO_TEST(at_tests) { x["one"] = 1; x["two"] = 2; - BOOST_TEST(x.at("one") == 1); - BOOST_TEST(x.at("two") == 2); + BOOST_CHECK(x.at("one") == 1); + BOOST_CHECK(x.at("two") == 2); try { x.at("three"); diff --git a/test/unordered/bucket_tests.cpp b/test/unordered/bucket_tests.cpp index 5257f729..32dd93c5 100644 --- a/test/unordered/bucket_tests.cpp +++ b/test/unordered/bucket_tests.cpp @@ -24,7 +24,7 @@ void bucket_tests(X* = 0) X x(v.begin(), v.end()); - BOOST_TEST(x.bucket_count() < x.max_bucket_count()); + BOOST_CHECK(x.bucket_count() < x.max_bucket_count()); std::cerr<::const_iterator @@ -32,21 +32,21 @@ void bucket_tests(X* = 0) { size_type bucket = x.bucket(test::get_key(*it)); - BOOST_TEST(bucket < x.bucket_count()); + BOOST_CHECK(bucket < x.bucket_count()); if(bucket < x.max_bucket_count()) { // lit? lend?? I need a new naming scheme. const_local_iterator lit = x.begin(bucket), lend = x.end(bucket); while(lit != lend && test::get_key(*it) != test::get_key(*lit)) ++lit; - BOOST_TEST(lit != lend); + BOOST_CHECK(lit != lend); } } for(size_type i = 0; i < x.bucket_count(); ++i) { - BOOST_TEST(x.bucket_size(i) == (size_type) std::distance(x.begin(i), x.end(i))); - BOOST_TEST(x.bucket_size(i) == (size_type) std::distance(x.cbegin(i), x.cend(i))); + BOOST_CHECK(x.bucket_size(i) == (size_type) std::distance(x.begin(i), x.end(i))); + BOOST_CHECK(x.bucket_size(i) == (size_type) std::distance(x.cbegin(i), x.cend(i))); X const& x_ref = x; - BOOST_TEST(x.bucket_size(i) == (size_type) std::distance(x_ref.begin(i), x_ref.end(i))); - BOOST_TEST(x.bucket_size(i) == (size_type) std::distance(x_ref.cbegin(i), x_ref.cend(i))); + BOOST_CHECK(x.bucket_size(i) == (size_type) std::distance(x_ref.begin(i), x_ref.end(i))); + BOOST_CHECK(x.bucket_size(i) == (size_type) std::distance(x_ref.cbegin(i), x_ref.cend(i))); } } diff --git a/test/unordered/compile_tests.hpp b/test/unordered/compile_tests.hpp index d8377bee..c44cd02c 100644 --- a/test/unordered/compile_tests.hpp +++ b/test/unordered/compile_tests.hpp @@ -86,10 +86,10 @@ void container_test(X& r, T&) // I'm not sure about either of these tests... size_type max_diff((std::numeric_limits::max)()); difference_type converted_diff(max_diff); - BOOST_TEST((std::numeric_limits::max)() + BOOST_CHECK((std::numeric_limits::max)() == converted_diff); - BOOST_TEST( + BOOST_CHECK( static_cast( (std::numeric_limits::max)()) > static_cast( @@ -97,8 +97,8 @@ void container_test(X& r, T&) // I don't test the runtime post-conditions here. X u; - BOOST_TEST(u.size() == 0); - BOOST_TEST(X().size() == 0); + BOOST_CHECK(u.size() == 0); + BOOST_CHECK(X().size() == 0); X a,b; @@ -263,7 +263,7 @@ void unordered_test(X&, Key& k, T& t, Hash& hf, Pred& eq) a.insert(i, j); test::check_return_type::equals(a.erase(k)); - BOOST_TEST(a.empty()); + BOOST_CHECK(a.empty()); if(a.empty()) { a.insert(t); q = a.cbegin(); diff --git a/test/unordered/constructor_tests.cpp b/test/unordered/constructor_tests.cpp index 8a4bab7c..095d8c1d 100644 --- a/test/unordered/constructor_tests.cpp +++ b/test/unordered/constructor_tests.cpp @@ -29,42 +29,42 @@ void constructor_tests1(T*, test::random_generator generator = test::default_gen std::cerr<<"Construct 1\n"; { T x(0, hf, eq); - BOOST_TEST(x.empty()); - BOOST_TEST(test::equivalent(x.hash_function(), hf)); - BOOST_TEST(test::equivalent(x.key_eq(), eq)); - BOOST_TEST(test::equivalent(x.get_allocator(), al)); + BOOST_CHECK(x.empty()); + BOOST_CHECK(test::equivalent(x.hash_function(), hf)); + BOOST_CHECK(test::equivalent(x.key_eq(), eq)); + BOOST_CHECK(test::equivalent(x.get_allocator(), al)); test::check_equivalent_keys(x); } std::cerr<<"Construct 2\n"; { T x(100, hf); - BOOST_TEST(x.empty()); - BOOST_TEST(x.bucket_count() >= 100); - BOOST_TEST(test::equivalent(x.hash_function(), hf)); - BOOST_TEST(test::equivalent(x.key_eq(), eq)); - BOOST_TEST(test::equivalent(x.get_allocator(), al)); + BOOST_CHECK(x.empty()); + BOOST_CHECK(x.bucket_count() >= 100); + BOOST_CHECK(test::equivalent(x.hash_function(), hf)); + BOOST_CHECK(test::equivalent(x.key_eq(), eq)); + BOOST_CHECK(test::equivalent(x.get_allocator(), al)); test::check_equivalent_keys(x); } std::cerr<<"Construct 3\n"; { T x(2000); - BOOST_TEST(x.empty()); - BOOST_TEST(x.bucket_count() >= 2000); - BOOST_TEST(test::equivalent(x.hash_function(), hf)); - BOOST_TEST(test::equivalent(x.key_eq(), eq)); - BOOST_TEST(test::equivalent(x.get_allocator(), al)); + BOOST_CHECK(x.empty()); + BOOST_CHECK(x.bucket_count() >= 2000); + BOOST_CHECK(test::equivalent(x.hash_function(), hf)); + BOOST_CHECK(test::equivalent(x.key_eq(), eq)); + BOOST_CHECK(test::equivalent(x.get_allocator(), al)); test::check_equivalent_keys(x); } std::cerr<<"Construct 4\n"; { T x; - BOOST_TEST(x.empty()); - BOOST_TEST(test::equivalent(x.hash_function(), hf)); - BOOST_TEST(test::equivalent(x.key_eq(), eq)); - BOOST_TEST(test::equivalent(x.get_allocator(), al)); + BOOST_CHECK(x.empty()); + BOOST_CHECK(test::equivalent(x.hash_function(), hf)); + BOOST_CHECK(test::equivalent(x.key_eq(), eq)); + BOOST_CHECK(test::equivalent(x.get_allocator(), al)); test::check_equivalent_keys(x); } @@ -72,10 +72,10 @@ void constructor_tests1(T*, test::random_generator generator = test::default_gen { test::random_values v(1000, generator); T x(v.begin(), v.end(), 10000, hf, eq); - BOOST_TEST(x.bucket_count() >= 10000); - BOOST_TEST(test::equivalent(x.hash_function(), hf)); - BOOST_TEST(test::equivalent(x.key_eq(), eq)); - BOOST_TEST(test::equivalent(x.get_allocator(), al)); + BOOST_CHECK(x.bucket_count() >= 10000); + BOOST_CHECK(test::equivalent(x.hash_function(), hf)); + BOOST_CHECK(test::equivalent(x.key_eq(), eq)); + BOOST_CHECK(test::equivalent(x.get_allocator(), al)); test::check_container(x, v); test::check_equivalent_keys(x); } @@ -84,10 +84,10 @@ void constructor_tests1(T*, test::random_generator generator = test::default_gen { test::random_values v(10, generator); T x(v.begin(), v.end(), 10000, hf); - BOOST_TEST(x.bucket_count() >= 10000); - BOOST_TEST(test::equivalent(x.hash_function(), hf)); - BOOST_TEST(test::equivalent(x.key_eq(), eq)); - BOOST_TEST(test::equivalent(x.get_allocator(), al)); + BOOST_CHECK(x.bucket_count() >= 10000); + BOOST_CHECK(test::equivalent(x.hash_function(), hf)); + BOOST_CHECK(test::equivalent(x.key_eq(), eq)); + BOOST_CHECK(test::equivalent(x.get_allocator(), al)); test::check_container(x, v); test::check_equivalent_keys(x); } @@ -96,10 +96,10 @@ void constructor_tests1(T*, test::random_generator generator = test::default_gen { test::random_values v(100, generator); T x(v.begin(), v.end(), 100); - BOOST_TEST(x.bucket_count() >= 100); - BOOST_TEST(test::equivalent(x.hash_function(), hf)); - BOOST_TEST(test::equivalent(x.key_eq(), eq)); - BOOST_TEST(test::equivalent(x.get_allocator(), al)); + BOOST_CHECK(x.bucket_count() >= 100); + BOOST_CHECK(test::equivalent(x.hash_function(), hf)); + BOOST_CHECK(test::equivalent(x.key_eq(), eq)); + BOOST_CHECK(test::equivalent(x.get_allocator(), al)); test::check_container(x, v); test::check_equivalent_keys(x); } @@ -108,9 +108,9 @@ void constructor_tests1(T*, test::random_generator generator = test::default_gen { test::random_values v(1, generator); T x(v.begin(), v.end()); - BOOST_TEST(test::equivalent(x.hash_function(), hf)); - BOOST_TEST(test::equivalent(x.key_eq(), eq)); - BOOST_TEST(test::equivalent(x.get_allocator(), al)); + BOOST_CHECK(test::equivalent(x.hash_function(), hf)); + BOOST_CHECK(test::equivalent(x.key_eq(), eq)); + BOOST_CHECK(test::equivalent(x.get_allocator(), al)); test::check_container(x, v); test::check_equivalent_keys(x); } @@ -118,10 +118,10 @@ void constructor_tests1(T*, test::random_generator generator = test::default_gen std::cerr<<"Construct 9\n"; { T x(0, hf, eq, al); - BOOST_TEST(x.empty()); - BOOST_TEST(test::equivalent(x.hash_function(), hf)); - BOOST_TEST(test::equivalent(x.key_eq(), eq)); - BOOST_TEST(test::equivalent(x.get_allocator(), al)); + BOOST_CHECK(x.empty()); + BOOST_CHECK(test::equivalent(x.hash_function(), hf)); + BOOST_CHECK(test::equivalent(x.key_eq(), eq)); + BOOST_CHECK(test::equivalent(x.get_allocator(), al)); test::check_equivalent_keys(x); } @@ -129,10 +129,10 @@ void constructor_tests1(T*, test::random_generator generator = test::default_gen { test::random_values v(1000, generator); T x(v.begin(), v.end(), 10000, hf, eq, al); - BOOST_TEST(x.bucket_count() >= 10000); - BOOST_TEST(test::equivalent(x.hash_function(), hf)); - BOOST_TEST(test::equivalent(x.key_eq(), eq)); - BOOST_TEST(test::equivalent(x.get_allocator(), al)); + BOOST_CHECK(x.bucket_count() >= 10000); + BOOST_CHECK(test::equivalent(x.hash_function(), hf)); + BOOST_CHECK(test::equivalent(x.key_eq(), eq)); + BOOST_CHECK(test::equivalent(x.get_allocator(), al)); test::check_container(x, v); test::check_equivalent_keys(x); } @@ -141,10 +141,10 @@ void constructor_tests1(T*, test::random_generator generator = test::default_gen { test::random_values v(1000, generator); T x(al); - BOOST_TEST(x.empty()); - BOOST_TEST(test::equivalent(x.hash_function(), hf)); - BOOST_TEST(test::equivalent(x.key_eq(), eq)); - BOOST_TEST(test::equivalent(x.get_allocator(), al)); + BOOST_CHECK(x.empty()); + BOOST_CHECK(test::equivalent(x.hash_function(), hf)); + BOOST_CHECK(test::equivalent(x.key_eq(), eq)); + BOOST_CHECK(test::equivalent(x.get_allocator(), al)); test::check_equivalent_keys(x); } } @@ -165,21 +165,21 @@ void constructor_tests2(T*, test::random_generator const& generator = test::defa std::cerr<<"Construct 1\n"; { T x(10000, hf1, eq1); - BOOST_TEST(x.bucket_count() >= 10000); - BOOST_TEST(test::equivalent(x.hash_function(), hf1)); - BOOST_TEST(test::equivalent(x.key_eq(), eq1)); - BOOST_TEST(test::equivalent(x.get_allocator(), al)); + BOOST_CHECK(x.bucket_count() >= 10000); + BOOST_CHECK(test::equivalent(x.hash_function(), hf1)); + BOOST_CHECK(test::equivalent(x.key_eq(), eq1)); + BOOST_CHECK(test::equivalent(x.get_allocator(), al)); test::check_equivalent_keys(x); } std::cerr<<"Construct 2\n"; { T x(100, hf1); - BOOST_TEST(x.empty()); - BOOST_TEST(x.bucket_count() >= 100); - BOOST_TEST(test::equivalent(x.hash_function(), hf1)); - BOOST_TEST(test::equivalent(x.key_eq(), eq)); - BOOST_TEST(test::equivalent(x.get_allocator(), al)); + BOOST_CHECK(x.empty()); + BOOST_CHECK(x.bucket_count() >= 100); + BOOST_CHECK(test::equivalent(x.hash_function(), hf1)); + BOOST_CHECK(test::equivalent(x.key_eq(), eq)); + BOOST_CHECK(test::equivalent(x.get_allocator(), al)); test::check_equivalent_keys(x); } @@ -187,9 +187,9 @@ void constructor_tests2(T*, test::random_generator const& generator = test::defa { test::random_values v(100, generator); T x(v.begin(), v.end(), 0, hf1, eq1); - BOOST_TEST(test::equivalent(x.hash_function(), hf1)); - BOOST_TEST(test::equivalent(x.key_eq(), eq1)); - BOOST_TEST(test::equivalent(x.get_allocator(), al)); + BOOST_CHECK(test::equivalent(x.hash_function(), hf1)); + BOOST_CHECK(test::equivalent(x.key_eq(), eq1)); + BOOST_CHECK(test::equivalent(x.get_allocator(), al)); test::check_container(x, v); test::check_equivalent_keys(x); } @@ -198,10 +198,10 @@ void constructor_tests2(T*, test::random_generator const& generator = test::defa { test::random_values v(5, generator); T x(v.begin(), v.end(), 1000, hf1); - BOOST_TEST(x.bucket_count() >= 1000); - BOOST_TEST(test::equivalent(x.hash_function(), hf1)); - BOOST_TEST(test::equivalent(x.key_eq(), eq)); - BOOST_TEST(test::equivalent(x.get_allocator(), al)); + BOOST_CHECK(x.bucket_count() >= 1000); + BOOST_CHECK(test::equivalent(x.hash_function(), hf1)); + BOOST_CHECK(test::equivalent(x.key_eq(), eq)); + BOOST_CHECK(test::equivalent(x.get_allocator(), al)); test::check_container(x, v); test::check_equivalent_keys(x); } diff --git a/test/unordered/copy_tests.cpp b/test/unordered/copy_tests.cpp index 12f8dbf0..7334ceee 100644 --- a/test/unordered/copy_tests.cpp +++ b/test/unordered/copy_tests.cpp @@ -27,11 +27,11 @@ void copy_construct_tests1(T*, test::random_generator const& generator = test::d { T x; T y(x); - BOOST_TEST(y.empty()); - BOOST_TEST(test::equivalent(y.hash_function(), hf)); - BOOST_TEST(test::equivalent(y.key_eq(), eq)); - BOOST_TEST(test::equivalent(y.get_allocator(), al)); - BOOST_TEST(x.max_load_factor() == y.max_load_factor()); + BOOST_CHECK(y.empty()); + BOOST_CHECK(test::equivalent(y.hash_function(), hf)); + BOOST_CHECK(test::equivalent(y.key_eq(), eq)); + BOOST_CHECK(test::equivalent(y.get_allocator(), al)); + BOOST_CHECK(x.max_load_factor() == y.max_load_factor()); test::check_equivalent_keys(y); } @@ -57,7 +57,7 @@ void copy_construct_tests1(T*, test::random_generator const& generator = test::d test::unordered_equivalence_tester equivalent(x); equivalent(y); // This isn't guaranteed: - BOOST_TEST(y.load_factor() < y.max_load_factor()); + BOOST_CHECK(y.load_factor() < y.max_load_factor()); test::check_equivalent_keys(y); } } @@ -75,22 +75,22 @@ void copy_construct_tests2(T* ptr, test::random_generator const& generator = tes { T x(10000, hf, eq, al); T y(x); - BOOST_TEST(y.empty()); - BOOST_TEST(test::equivalent(y.hash_function(), hf)); - BOOST_TEST(test::equivalent(y.key_eq(), eq)); - BOOST_TEST(test::equivalent(y.get_allocator(), al)); - BOOST_TEST(x.max_load_factor() == y.max_load_factor()); + BOOST_CHECK(y.empty()); + BOOST_CHECK(test::equivalent(y.hash_function(), hf)); + BOOST_CHECK(test::equivalent(y.key_eq(), eq)); + BOOST_CHECK(test::equivalent(y.get_allocator(), al)); + BOOST_CHECK(x.max_load_factor() == y.max_load_factor()); test::check_equivalent_keys(y); } { T x(1000, hf, eq, al); T y(x, al2); - BOOST_TEST(y.empty()); - BOOST_TEST(test::equivalent(y.hash_function(), hf)); - BOOST_TEST(test::equivalent(y.key_eq(), eq)); - BOOST_TEST(test::equivalent(y.get_allocator(), al2)); - BOOST_TEST(x.max_load_factor() == y.max_load_factor()); + BOOST_CHECK(y.empty()); + BOOST_CHECK(test::equivalent(y.hash_function(), hf)); + BOOST_CHECK(test::equivalent(y.key_eq(), eq)); + BOOST_CHECK(test::equivalent(y.get_allocator(), al2)); + BOOST_CHECK(x.max_load_factor() == y.max_load_factor()); test::check_equivalent_keys(y); } @@ -102,7 +102,7 @@ void copy_construct_tests2(T* ptr, test::random_generator const& generator = tes test::unordered_equivalence_tester equivalent(x); equivalent(y); test::check_equivalent_keys(y); - BOOST_TEST(test::equivalent(y.get_allocator(), al)); + BOOST_CHECK(test::equivalent(y.get_allocator(), al)); } { @@ -113,7 +113,7 @@ void copy_construct_tests2(T* ptr, test::random_generator const& generator = tes test::unordered_equivalence_tester equivalent(x); equivalent(y); test::check_equivalent_keys(y); - BOOST_TEST(test::equivalent(y.get_allocator(), al2)); + BOOST_CHECK(test::equivalent(y.get_allocator(), al2)); } } diff --git a/test/unordered/erase_equiv_tests.cpp b/test/unordered/erase_equiv_tests.cpp index 91b4bbd2..520e824e 100644 --- a/test/unordered/erase_equiv_tests.cpp +++ b/test/unordered/erase_equiv_tests.cpp @@ -67,11 +67,11 @@ UNORDERED_AUTO_TEST(single_item_tests) collide_map x(init.begin(), init.end()); x.erase(x.begin(), x.begin()); - BOOST_TEST(x.count(1) == 1 && x.size() == 1); + BOOST_CHECK(x.count(1) == 1 && x.size() == 1); x.erase(x.end(), x.end()); - BOOST_TEST(x.count(1) == 1 && x.size() == 1); + BOOST_CHECK(x.count(1) == 1 && x.size() == 1); x.erase(x.begin(), x.end()); - BOOST_TEST(x.count(1) == 0 && x.size() == 0); + BOOST_CHECK(x.count(1) == 0 && x.size() == 0); } UNORDERED_AUTO_TEST(two_equivalent_item_tests) @@ -83,14 +83,14 @@ UNORDERED_AUTO_TEST(two_equivalent_item_tests) { collide_map x(init.begin(), init.end()); x.erase(x.begin(), x.end()); - BOOST_TEST(x.count(1) == 0 && x.size() == 0); + BOOST_CHECK(x.count(1) == 0 && x.size() == 0); } { collide_map x(init.begin(), init.end()); int value = boost::next(x.begin())->second; x.erase(x.begin(), boost::next(x.begin())); - BOOST_TEST(x.count(1) == 1 && x.size() == 1 && + BOOST_CHECK(x.count(1) == 1 && x.size() == 1 && x.begin()->first == 1 && x.begin()->second == value); } @@ -98,7 +98,7 @@ UNORDERED_AUTO_TEST(two_equivalent_item_tests) collide_map x(init.begin(), init.end()); int value = x.begin()->second; x.erase(boost::next(x.begin()), x.end()); - BOOST_TEST(x.count(1) == 1 && x.size() == 1 && + BOOST_CHECK(x.count(1) == 1 && x.size() == 1 && x.begin()->first == 1 && x.begin()->second == value); } } diff --git a/test/unordered/erase_tests.cpp b/test/unordered/erase_tests.cpp index 284f7995..0c42e613 100644 --- a/test/unordered/erase_tests.cpp +++ b/test/unordered/erase_tests.cpp @@ -32,10 +32,10 @@ void erase_tests1(Container*, test::random_generator generator = test::default_g { std::size_t count = x.count(test::get_key(*it)); std::size_t old_size = x.size(); - BOOST_TEST(count == x.erase(test::get_key(*it))); - BOOST_TEST(x.size() == old_size - count); - BOOST_TEST(x.count(test::get_key(*it)) == 0); - BOOST_TEST(x.find(test::get_key(*it)) == x.end()); + BOOST_CHECK(count == x.erase(test::get_key(*it))); + BOOST_CHECK(x.size() == old_size - count); + BOOST_CHECK(x.count(test::get_key(*it)) == 0); + BOOST_CHECK(x.find(test::get_key(*it)) == x.end()); } } @@ -50,11 +50,11 @@ void erase_tests1(Container*, test::random_generator generator = test::default_g std::size_t count = x.count(key); BOOST_DEDUCED_TYPENAME Container::iterator pos = x.erase(x.begin()); --size; - BOOST_TEST(pos == x.begin()); - BOOST_TEST(x.count(key) == count - 1); - BOOST_TEST(x.size() == size); + BOOST_CHECK(pos == x.begin()); + BOOST_CHECK(x.count(key) == count - 1); + BOOST_CHECK(x.size() == size); } - BOOST_TEST(x.empty()); + BOOST_CHECK(x.empty()); } std::cerr<<"erase(random position).\n"; @@ -77,15 +77,15 @@ void erase_tests1(Container*, test::random_generator generator = test::default_g next = boost::next(pos); BOOST_DEDUCED_TYPENAME Container::key_type key = test::get_key(*pos); std::size_t count = x.count(key); - BOOST_TEST(next == x.erase(pos)); + BOOST_CHECK(next == x.erase(pos)); --size; if(size > 0) - BOOST_TEST(index == 0 ? next == x.begin() : + BOOST_CHECK(index == 0 ? next == x.begin() : next == boost::next(prev)); - BOOST_TEST(x.count(key) == count - 1); - BOOST_TEST(x.size() == size); + BOOST_CHECK(x.count(key) == count - 1); + BOOST_CHECK(x.size() == size); } - BOOST_TEST(x.empty()); + BOOST_CHECK(x.empty()); } std::cerr<<"erase(ranges).\n"; @@ -99,15 +99,15 @@ void erase_tests1(Container*, test::random_generator generator = test::default_g // returns 'the iterator immediately following the erase elements' // and if nothing is erased, then there's nothing to follow. But I // think this is the only sensible option... - BOOST_TEST(x.erase(x.end(), x.end()) == x.end()); - BOOST_TEST(x.erase(x.begin(), x.begin()) == x.begin()); - BOOST_TEST(x.size() == size); + BOOST_CHECK(x.erase(x.end(), x.end()) == x.end()); + BOOST_CHECK(x.erase(x.begin(), x.begin()) == x.begin()); + BOOST_CHECK(x.size() == size); - BOOST_TEST(x.erase(x.begin(), x.end()) == x.end()); - BOOST_TEST(x.empty()); - BOOST_TEST(x.begin() == x.end()); + BOOST_CHECK(x.erase(x.begin(), x.end()) == x.end()); + BOOST_CHECK(x.empty()); + BOOST_CHECK(x.begin() == x.end()); - BOOST_TEST(x.erase(x.begin(), x.end()) == x.begin()); + BOOST_CHECK(x.erase(x.begin(), x.end()) == x.begin()); } std::cerr<<"clear().\n"; @@ -115,8 +115,8 @@ void erase_tests1(Container*, test::random_generator generator = test::default_g test::random_values v(500, generator); Container x(v.begin(), v.end()); x.clear(); - BOOST_TEST(x.empty()); - BOOST_TEST(x.begin() == x.end()); + BOOST_CHECK(x.empty()); + BOOST_CHECK(x.begin() == x.end()); } std::cerr<<"\n"; diff --git a/test/unordered/find_tests.cpp b/test/unordered/find_tests.cpp index 7f924305..3e8fc1ef 100644 --- a/test/unordered/find_tests.cpp +++ b/test/unordered/find_tests.cpp @@ -34,12 +34,12 @@ void find_tests1(X*, test::random_generator generator = test::default_generator) BOOST_DEDUCED_TYPENAME X::key_type key = test::get_key(*it1); iterator pos = x.find(key); BOOST_DEDUCED_TYPENAME X::const_iterator const_pos = x_const.find(key); - BOOST_TEST(pos != x.end() && + BOOST_CHECK(pos != x.end() && x.key_eq()(key, test::get_key(*pos))); - BOOST_TEST(const_pos != x_const.end() && + BOOST_CHECK(const_pos != x_const.end() && x_const.key_eq()(key, test::get_key(*const_pos))); - BOOST_TEST(x.count(key) == tracker.count(key)); + BOOST_CHECK(x.count(key) == tracker.count(key)); test::compare_pairs(x.equal_range(key), tracker.equal_range(key), @@ -56,11 +56,11 @@ void find_tests1(X*, test::random_generator generator = test::default_generator) BOOST_DEDUCED_TYPENAME X::key_type key = test::get_key(*it2); if(tracker.find(test::get_key(key)) == tracker.end()) { - BOOST_TEST(x.find(key) == x.end()); - BOOST_TEST(x_const.find(key) == x_const.end()); - BOOST_TEST(x.count(key) == 0); + BOOST_CHECK(x.find(key) == x.end()); + BOOST_CHECK(x_const.find(key) == x_const.end()); + BOOST_CHECK(x.count(key) == 0); std::pair range = x.equal_range(key); - BOOST_TEST(range.first == range.second); + BOOST_CHECK(range.first == range.second); } } } @@ -73,10 +73,10 @@ void find_tests1(X*, test::random_generator generator = test::default_generator) v2.begin(); it3 != v2.end(); ++it3) { BOOST_DEDUCED_TYPENAME X::key_type key = test::get_key(*it3); - BOOST_TEST(x.find(key) == x.end()); - BOOST_TEST(x.count(key) == 0); + BOOST_CHECK(x.find(key) == x.end()); + BOOST_CHECK(x.count(key) == 0); std::pair range = x.equal_range(key); - BOOST_TEST(range.first == range.second); + BOOST_CHECK(range.first == range.second); } } } diff --git a/test/unordered/insert_stable_tests.cpp b/test/unordered/insert_stable_tests.cpp index f9aa4809..d828feeb 100644 --- a/test/unordered/insert_stable_tests.cpp +++ b/test/unordered/insert_stable_tests.cpp @@ -47,13 +47,13 @@ UNORDERED_AUTO_TEST(stable_insert_test1) { x.insert(insert_stable::member(1,3)); boost::unordered_multiset::const_iterator it = x.begin(), end = x.end(); - BOOST_TEST(it != end); - if(it != end) { BOOST_TEST(it->tag2_ == 1); ++it; } - BOOST_TEST(it != end); - if(it != end) { BOOST_TEST(it->tag2_ == 2); ++it; } - BOOST_TEST(it != end); - if(it != end) { BOOST_TEST(it->tag2_ == 3); ++it; } - BOOST_TEST(it == end); + BOOST_CHECK(it != end); + if(it != end) { BOOST_CHECK(it->tag2_ == 1); ++it; } + BOOST_CHECK(it != end); + if(it != end) { BOOST_CHECK(it->tag2_ == 2); ++it; } + BOOST_CHECK(it != end); + if(it != end) { BOOST_CHECK(it->tag2_ == 3); ++it; } + BOOST_CHECK(it == end); } UNORDERED_AUTO_TEST(stable_insert_test2) { @@ -66,13 +66,13 @@ UNORDERED_AUTO_TEST(stable_insert_test2) { it = x.begin(); iterator end = x.end(); - BOOST_TEST(it != end); - if(it != end) { BOOST_TEST(it->first.tag2_ == 1 && it->second == 1); ++it; } - BOOST_TEST(it != end); - if(it != end) { BOOST_TEST(it->first.tag2_ == 2 && it->second == 2); ++it; } - BOOST_TEST(it != end); - if(it != end) { BOOST_TEST(it->first.tag2_ == 3 && it->second == 3); ++it; } - BOOST_TEST(it == end); + BOOST_CHECK(it != end); + if(it != end) { BOOST_CHECK(it->first.tag2_ == 1 && it->second == 1); ++it; } + BOOST_CHECK(it != end); + if(it != end) { BOOST_CHECK(it->first.tag2_ == 2 && it->second == 2); ++it; } + BOOST_CHECK(it != end); + if(it != end) { BOOST_CHECK(it->first.tag2_ == 3 && it->second == 3); ++it; } + BOOST_CHECK(it == end); } RUN_TESTS() diff --git a/test/unordered/insert_tests.cpp b/test/unordered/insert_tests.cpp index 54ccd45d..479908c7 100644 --- a/test/unordered/insert_tests.cpp +++ b/test/unordered/insert_tests.cpp @@ -15,6 +15,8 @@ #include "../helpers/input_iterator.hpp" #include + +namespace insert_tests { test::seed_t seed(243432); @@ -41,13 +43,13 @@ void unique_insert_tests1(X*, test::random_generator generator = test::default_g std::pair r1 = x.insert(*it); std::pair r2 = tracker.insert(*it); - BOOST_TEST(r1.second == r2.second); - BOOST_TEST(*r1.first == *r2.first); + BOOST_CHECK(r1.second == r2.second); + BOOST_CHECK(*r1.first == *r2.first); tracker.compare_key(x, *it); if(x.size() < b * old_bucket_count) - BOOST_TEST(x.bucket_count() == old_bucket_count); + BOOST_CHECK(x.bucket_count() == old_bucket_count); } test::check_equivalent_keys(x); @@ -71,12 +73,12 @@ void equivalent_insert_tests1(X*, test::random_generator generator = test::defau BOOST_DEDUCED_TYPENAME X::iterator r1 = x.insert(*it); BOOST_DEDUCED_TYPENAME test::ordered::iterator r2 = tracker.insert(*it); - BOOST_TEST(*r1 == *r2); + BOOST_CHECK(*r1 == *r2); tracker.compare_key(x, *it); if(x.size() < b * old_bucket_count) - BOOST_TEST(x.bucket_count() == old_bucket_count); + BOOST_CHECK(x.bucket_count() == old_bucket_count); } test::check_equivalent_keys(x); @@ -105,11 +107,11 @@ void insert_tests2(X*, test::random_generator generator = test::default_generato iterator r1 = x.insert(x.begin(), *it); tracker_iterator r2 = tracker.insert(tracker.begin(), *it); - BOOST_TEST(*r1 == *r2); + BOOST_CHECK(*r1 == *r2); tracker.compare_key(x, *it); if(x.size() < b * old_bucket_count) - BOOST_TEST(x.bucket_count() == old_bucket_count); + BOOST_CHECK(x.bucket_count() == old_bucket_count); } test::check_equivalent_keys(x); @@ -131,11 +133,11 @@ void insert_tests2(X*, test::random_generator generator = test::default_generato const_iterator r1 = x.insert(x_const.end(), *it); tracker_iterator r2 = tracker.insert(tracker.end(), *it); - BOOST_TEST(*r1 == *r2); + BOOST_CHECK(*r1 == *r2); tracker.compare_key(x, *it); if(x.size() < b * old_bucket_count) - BOOST_TEST(x.bucket_count() == old_bucket_count); + BOOST_CHECK(x.bucket_count() == old_bucket_count); } test::check_equivalent_keys(x); @@ -157,11 +159,11 @@ void insert_tests2(X*, test::random_generator generator = test::default_generato pos = x.insert(pos, *it); tracker_iterator r2 = tracker.insert(tracker.begin(), *it); - BOOST_TEST(*pos == *r2); + BOOST_CHECK(*pos == *r2); tracker.compare_key(x, *it); if(x.size() < b * old_bucket_count) - BOOST_TEST(x.bucket_count() == old_bucket_count); + BOOST_CHECK(x.bucket_count() == old_bucket_count); } test::check_equivalent_keys(x); @@ -185,7 +187,7 @@ void insert_tests2(X*, test::random_generator generator = test::default_generato tracker.compare_key(x, *it); if(x.size() < b * old_bucket_count) - BOOST_TEST(x.bucket_count() == old_bucket_count); + BOOST_CHECK(x.bucket_count() == old_bucket_count); } test::check_equivalent_keys(x); @@ -237,7 +239,7 @@ void map_tests(X*, test::random_generator generator = test::default_generator) tracker.compare_key(x, *it); if(x.size() < b * old_bucket_count) - BOOST_TEST(x.bucket_count() == old_bucket_count); + BOOST_CHECK(x.bucket_count() == old_bucket_count); } test::check_equivalent_keys(x); @@ -258,40 +260,39 @@ void associative_insert_range_test(X*, test::random_generator generator = test:: test::check_equivalent_keys(x); } -int main() -{ - boost::unordered_set >* test_set; - boost::unordered_multiset >* test_multiset; - boost::unordered_map >* test_map; - boost::unordered_multimap >* test_multimap; +boost::unordered_set >* test_set; +boost::unordered_multiset >* test_multiset; +boost::unordered_map >* test_map; +boost::unordered_multimap >* test_multimap; - unique_insert_tests1(test_set); - equivalent_insert_tests1(test_multiset); - unique_insert_tests1(test_map); - equivalent_insert_tests1(test_multimap); +using test::default_generator; +using test::generate_collisions; - unique_insert_tests1(test_set, test::generate_collisions); - equivalent_insert_tests1(test_multiset, test::generate_collisions); - unique_insert_tests1(test_map, test::generate_collisions); - equivalent_insert_tests1(test_multimap, test::generate_collisions); +UNORDERED_TEST(unique_insert_tests1, + ((test_set)(test_map)) + ((default_generator)(generate_collisions)) +) - insert_tests2(test_set); - insert_tests2(test_multiset); - insert_tests2(test_map); - insert_tests2(test_multimap); +UNORDERED_TEST(equivalent_insert_tests1, + ((test_multiset)(test_multimap)) + ((default_generator)(generate_collisions)) +) - insert_tests2(test_set, test::generate_collisions); - insert_tests2(test_multiset, test::generate_collisions); - insert_tests2(test_map, test::generate_collisions); - insert_tests2(test_multimap, test::generate_collisions); +UNORDERED_TEST(insert_tests2, + ((test_set)(test_multiset)(test_map)(test_multimap)) + ((default_generator)(generate_collisions)) +) - map_tests(test_map); - map_tests(test_map, test::generate_collisions); +UNORDERED_TEST(map_tests, + ((test_map)) + ((default_generator)(generate_collisions)) +) - associative_insert_range_test(test_map); - associative_insert_range_test(test_map, test::generate_collisions); - associative_insert_range_test(test_multimap); - associative_insert_range_test(test_multimap, test::generate_collisions); +UNORDERED_TEST(associative_insert_range_test, + ((test_map)(test_multimap)) + ((default_generator)(generate_collisions)) +) - return boost::report_errors(); } + +RUN_TESTS() diff --git a/test/unordered/load_factor_tests.cpp b/test/unordered/load_factor_tests.cpp index 7013b25f..86649421 100644 --- a/test/unordered/load_factor_tests.cpp +++ b/test/unordered/load_factor_tests.cpp @@ -24,13 +24,13 @@ void load_factor_tests(X* = 0) { X x; - BOOST_TEST(x.max_load_factor() == 1.0); - BOOST_TEST(x.load_factor() == 0); + BOOST_CHECK(x.max_load_factor() == 1.0); + BOOST_CHECK(x.load_factor() == 0); // A valid implementation could fail these tests, but I think they're // reasonable. - x.max_load_factor(2.0); BOOST_TEST(x.max_load_factor() == 2.0); - x.max_load_factor(0.5); BOOST_TEST(x.max_load_factor() == 0.5); + x.max_load_factor(2.0); BOOST_CHECK(x.max_load_factor() == 2.0); + x.max_load_factor(0.5); BOOST_CHECK(x.max_load_factor() == 0.5); } template @@ -49,7 +49,7 @@ void insert_test(X*, float mlf) old_bucket_count = x.bucket_count(); x.insert(*it); if(old_size + 1 < b * old_bucket_count) - BOOST_TEST(x.bucket_count() == old_bucket_count); + BOOST_CHECK(x.bucket_count() == old_bucket_count); } } diff --git a/test/unordered/move_tests.cpp b/test/unordered/move_tests.cpp index 10b3f148..966734a9 100644 --- a/test/unordered/move_tests.cpp +++ b/test/unordered/move_tests.cpp @@ -52,11 +52,11 @@ namespace move_tests { T y(empty(ptr)); - BOOST_TEST(y.empty()); - BOOST_TEST(test::equivalent(y.hash_function(), hf)); - BOOST_TEST(test::equivalent(y.key_eq(), eq)); - BOOST_TEST(test::equivalent(y.get_allocator(), al)); - BOOST_TEST(y.max_load_factor() == 1.0); + BOOST_CHECK(y.empty()); + BOOST_CHECK(test::equivalent(y.hash_function(), hf)); + BOOST_CHECK(test::equivalent(y.key_eq(), eq)); + BOOST_CHECK(test::equivalent(y.get_allocator(), al)); + BOOST_CHECK(y.max_load_factor() == 1.0); test::check_equivalent_keys(y); } @@ -64,7 +64,7 @@ namespace move_tests test::random_values v(1000); BOOST_DEDUCED_TYPENAME T::value_type const* first = 0; T y(create(v, first)); - BOOST_TEST(first == &*y.begin()); + BOOST_CHECK(first == &*y.begin()); test::check_container(y, v); test::check_equivalent_keys(y); } @@ -78,7 +78,7 @@ namespace move_tests BOOST_DEDUCED_TYPENAME T::value_type const* first = 0; T y; y = create(v, first); - BOOST_TEST(first == &*y.begin()); + BOOST_CHECK(first == &*y.begin()); test::check_container(y, v); test::check_equivalent_keys(y); } @@ -100,12 +100,12 @@ namespace move_tests { test::random_values v(500); T y(create(v, first, hf, eq, al, 0.5)); - BOOST_TEST(first == &*y.begin()); + BOOST_CHECK(first == &*y.begin()); test::check_container(y, v); - BOOST_TEST(test::equivalent(y.hash_function(), hf)); - BOOST_TEST(test::equivalent(y.key_eq(), eq)); - BOOST_TEST(test::equivalent(y.get_allocator(), al)); - BOOST_TEST(y.max_load_factor() == 0.5); // Not necessarily required. + BOOST_CHECK(test::equivalent(y.hash_function(), hf)); + BOOST_CHECK(test::equivalent(y.key_eq(), eq)); + BOOST_CHECK(test::equivalent(y.get_allocator(), al)); + BOOST_CHECK(y.max_load_factor() == 0.5); // Not necessarily required. test::check_equivalent_keys(y); } @@ -113,24 +113,24 @@ namespace move_tests // TODO: To do this correctly requires the fancy new allocator stuff. test::random_values v(500); T y(create(v, first, hf, eq, al, 2.0), al2); - BOOST_TEST(first != &*y.begin()); + BOOST_CHECK(first != &*y.begin()); test::check_container(y, v); - BOOST_TEST(test::equivalent(y.hash_function(), hf)); - BOOST_TEST(test::equivalent(y.key_eq(), eq)); - BOOST_TEST(test::equivalent(y.get_allocator(), al2)); - BOOST_TEST(y.max_load_factor() == 2.0); // Not necessarily required. + BOOST_CHECK(test::equivalent(y.hash_function(), hf)); + BOOST_CHECK(test::equivalent(y.key_eq(), eq)); + BOOST_CHECK(test::equivalent(y.get_allocator(), al2)); + BOOST_CHECK(y.max_load_factor() == 2.0); // Not necessarily required. test::check_equivalent_keys(y); } { test::random_values v(25); T y(create(v, first, hf, eq, al, 1.0), al); - BOOST_TEST(first == &*y.begin()); + BOOST_CHECK(first == &*y.begin()); test::check_container(y, v); - BOOST_TEST(test::equivalent(y.hash_function(), hf)); - BOOST_TEST(test::equivalent(y.key_eq(), eq)); - BOOST_TEST(test::equivalent(y.get_allocator(), al)); - BOOST_TEST(y.max_load_factor() == 1.0); // Not necessarily required. + BOOST_CHECK(test::equivalent(y.hash_function(), hf)); + BOOST_CHECK(test::equivalent(y.key_eq(), eq)); + BOOST_CHECK(test::equivalent(y.get_allocator(), al)); + BOOST_CHECK(y.max_load_factor() == 1.0); // Not necessarily required. test::check_equivalent_keys(y); } } diff --git a/test/unordered/rehash_tests.cpp b/test/unordered/rehash_tests.cpp index 5475ecb8..c7b99748 100644 --- a/test/unordered/rehash_tests.cpp +++ b/test/unordered/rehash_tests.cpp @@ -26,10 +26,10 @@ void rehash_empty_test1(X* = 0) X x; x.rehash(10000); - BOOST_TEST(postcondition(x, 10000)); + BOOST_CHECK(postcondition(x, 10000)); x.rehash(0); - BOOST_TEST(postcondition(x, 0)); + BOOST_CHECK(postcondition(x, 0)); } template @@ -40,18 +40,18 @@ void rehash_test1(X* = 0) tracker.insert_range(v.begin(), v.end()); X x(v.begin(), v.end()); - x.rehash(0); BOOST_TEST(postcondition(x, 0)); + x.rehash(0); BOOST_CHECK(postcondition(x, 0)); tracker.compare(x); x.max_load_factor(0.25); - x.rehash(0); BOOST_TEST(postcondition(x, 0)); + x.rehash(0); BOOST_CHECK(postcondition(x, 0)); tracker.compare(x); x.max_load_factor(50.0); - x.rehash(0); BOOST_TEST(postcondition(x, 0)); + x.rehash(0); BOOST_CHECK(postcondition(x, 0)); tracker.compare(x); - x.rehash(1000); BOOST_TEST(postcondition(x, 1000)); + x.rehash(1000); BOOST_CHECK(postcondition(x, 1000)); tracker.compare(x); } diff --git a/test/unordered/simple_tests.cpp b/test/unordered/simple_tests.cpp index bbba4d02..8e3c7dfd 100644 --- a/test/unordered/simple_tests.cpp +++ b/test/unordered/simple_tests.cpp @@ -19,67 +19,67 @@ void simple_test(X const& a) { X u; - BOOST_TEST(u.size() == 0); - BOOST_TEST(X().size() == 0); + BOOST_CHECK(u.size() == 0); + BOOST_CHECK(X().size() == 0); } { - BOOST_TEST(equivalent(X(a))); + BOOST_CHECK(equivalent(X(a))); } { X u(a); - BOOST_TEST(equivalent(u)); + BOOST_CHECK(equivalent(u)); } { X u = a; - BOOST_TEST(equivalent(u)); + BOOST_CHECK(equivalent(u)); } { X b(a); - BOOST_TEST(b.begin() == const_cast(b).cbegin()); - BOOST_TEST(b.end() == const_cast(b).cend()); + BOOST_CHECK(b.begin() == const_cast(b).cbegin()); + BOOST_CHECK(b.end() == const_cast(b).cend()); } { X b(a); X c; - BOOST_TEST(equivalent(b)); - BOOST_TEST(c.empty()); + BOOST_CHECK(equivalent(b)); + BOOST_CHECK(c.empty()); b.swap(c); - BOOST_TEST(b.empty()); - BOOST_TEST(equivalent(c)); + BOOST_CHECK(b.empty()); + BOOST_CHECK(equivalent(c)); b.swap(c); - BOOST_TEST(c.empty()); - BOOST_TEST(equivalent(b)); + BOOST_CHECK(c.empty()); + BOOST_CHECK(equivalent(b)); } { X u; X& r = u; - BOOST_TEST(&(r = r) == &r); - BOOST_TEST(r.empty()); - BOOST_TEST(&(r = a) == &r); - BOOST_TEST(equivalent(r)); - BOOST_TEST(&(r = r) == &r); - BOOST_TEST(equivalent(r)); + BOOST_CHECK(&(r = r) == &r); + BOOST_CHECK(r.empty()); + BOOST_CHECK(&(r = a) == &r); + BOOST_CHECK(equivalent(r)); + BOOST_CHECK(&(r = r) == &r); + BOOST_CHECK(equivalent(r)); } { - BOOST_TEST(a.size() == + BOOST_CHECK(a.size() == (BOOST_DEDUCED_TYPENAME X::size_type) std::distance(a.begin(), a.end())); } { - BOOST_TEST(a.empty() == (a.size() == 0)); + BOOST_CHECK(a.empty() == (a.size() == 0)); } { - BOOST_TEST(a.empty() == (a.begin() == a.end())); + BOOST_CHECK(a.empty() == (a.begin() == a.end())); X u; - BOOST_TEST(u.begin() == u.end()); + BOOST_CHECK(u.begin() == u.end()); } } diff --git a/test/unordered/unnecessary_copy_tests.cpp b/test/unordered/unnecessary_copy_tests.cpp index 762368ec..1c713a6c 100644 --- a/test/unordered/unnecessary_copy_tests.cpp +++ b/test/unordered/unnecessary_copy_tests.cpp @@ -44,9 +44,9 @@ namespace unnecessary_copy_tests count_copies::count = 0; T x; BOOST_DEDUCED_TYPENAME T::value_type a; - BOOST_TEST(count_copies::count == 1); + BOOST_CHECK(count_copies::count == 1); x.insert(a); - BOOST_TEST(count_copies::count == 2); + BOOST_CHECK(count_copies::count == 2); } boost::unordered_set* set;