diff --git a/test/unordered/merge_tests.cpp b/test/unordered/merge_tests.cpp index 32f4d685..2183b29c 100644 --- a/test/unordered/merge_tests.cpp +++ b/test/unordered/merge_tests.cpp @@ -1,6 +1,6 @@ // Copyright 2016 Daniel James. -// Copyright 2022 Christian Mazakas. +// Copyright 2022-2023 Christian Mazakas. // 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) @@ -16,14 +16,9 @@ namespace merge_tests { - UNORDERED_AUTO_TEST (merge_set) { -#ifdef BOOST_UNORDERED_FOA_TESTS - boost::unordered_flat_set x; - boost::unordered_flat_set y; -#else - boost::unordered_set x; - boost::unordered_set y; -#endif + template static void merge_set(X*) + { + X x, y; x.merge(y); BOOST_TEST(x.empty()); @@ -237,22 +232,23 @@ namespace merge_tests { using test::generate_collisions; #ifdef BOOST_UNORDERED_FOA_TESTS + boost::unordered_flat_set* int_set; + boost::unordered_flat_set >* test_set_std_alloc; - - boost::unordered_flat_map >* test_map_std_alloc; - + boost::unordered_flat_map >* test_map_std_alloc; boost::unordered_flat_set >* test_set; - - boost::unordered_flat_map >* test_map; + boost::unordered_flat_map >* test_map; // clang-format off +UNORDERED_TEST(merge_set, ((int_set))) + UNORDERED_TEST(merge_empty_test, ((test_set_std_alloc)) ((test_set_std_alloc)) @@ -308,6 +304,79 @@ UNORDERED_TEST(merge_into_unique_keys_test, ((0)(1)(2)) ((default_generator)(generate_collisions))) // clang-format on + + boost::unordered_node_set* int_node_set; + + boost::unordered_node_set >* test_node_set_std_alloc; + + boost::unordered_node_map >* test_node_map_std_alloc; + + boost::unordered_node_set >* test_node_set; + + boost::unordered_node_map >* test_node_map; + + // clang-format off +UNORDERED_TEST(merge_set, ((int_node_set))) + +UNORDERED_TEST(merge_empty_test, + ((test_node_set_std_alloc)) + ((test_node_set_std_alloc)) + ((default_generator)(generate_collisions))) +UNORDERED_TEST(merge_empty_test, + ((test_node_map_std_alloc)) + ((test_node_map_std_alloc)) + ((default_generator)(generate_collisions))) +UNORDERED_TEST(merge_empty_test, + ((test_node_set)) + ((test_node_set)) + ((default_generator)(generate_collisions))) +UNORDERED_TEST(merge_empty_test, + ((test_node_map)) + ((test_node_map)) + ((default_generator)(generate_collisions))) + +UNORDERED_TEST(merge_into_empty_test, + ((test_node_set_std_alloc)) + ((default_generator)(generate_collisions))) +UNORDERED_TEST(merge_into_empty_test, + ((test_node_map_std_alloc)) + ((default_generator)(generate_collisions))) +UNORDERED_TEST(merge_into_empty_test, + ((test_node_set)) + ((default_generator)(generate_collisions))) +UNORDERED_TEST(merge_into_empty_test, + ((test_node_map)) + ((default_generator)(generate_collisions))) + +UNORDERED_TEST(merge_into_unique_keys_test, + ((test_node_set_std_alloc)) + ((test_node_set_std_alloc)) + ((0)(1)(2)) + ((0)(1)(2)) + ((default_generator)(generate_collisions))) +UNORDERED_TEST(merge_into_unique_keys_test, + ((test_node_map_std_alloc)) + ((test_node_map_std_alloc)) + ((0)(1)(2)) + ((0)(1)(2)) + ((default_generator)(generate_collisions))) +UNORDERED_TEST(merge_into_unique_keys_test, + ((test_node_set)) + ((test_node_set)) + ((0)(1)(2)) + ((0)(1)(2)) + ((default_generator)(generate_collisions))) +UNORDERED_TEST(merge_into_unique_keys_test, + ((test_node_map)) + ((test_node_map)) + ((0)(1)(2)) + ((0)(1)(2)) + ((default_generator)(generate_collisions))) + // clang-format on #else boost::unordered_set >* test_set_std_alloc; @@ -412,6 +481,6 @@ UNORDERED_TEST(merge_into_equiv_keys_test, // clang-format on #endif -} +} // namespace merge_tests RUN_TESTS()