forked from boostorg/unordered
Improve heterogeneous equal_range()
test suite to check iterator distance and that the correct key was pulled, including when the map contains multiple keys
This commit is contained in:
@ -279,8 +279,10 @@ template <class UnorderedMap> void test_transparent_equal_range()
|
||||
UnorderedMap unordered_map;
|
||||
|
||||
unordered_map[key(0)] = 1337;
|
||||
unordered_map[key(1)] = 1338;
|
||||
unordered_map[key(2)] = 1339;
|
||||
|
||||
int const expected_key_count = 2;
|
||||
int const expected_key_count = 6;
|
||||
|
||||
BOOST_TEST(key::count_ == expected_key_count);
|
||||
|
||||
@ -301,8 +303,10 @@ template <class UnorderedMap> void test_transparent_equal_range()
|
||||
|
||||
BOOST_TEST(begin != end);
|
||||
BOOST_TEST(begin != map.end());
|
||||
BOOST_TEST(std::distance(begin, end) == 1);
|
||||
|
||||
value_type const& val = *begin;
|
||||
BOOST_TEST(val.first.x_ == 0);
|
||||
BOOST_TEST(val.second == 1337);
|
||||
|
||||
iters = map.equal_range(1337);
|
||||
@ -312,6 +316,7 @@ template <class UnorderedMap> void test_transparent_equal_range()
|
||||
|
||||
BOOST_TEST(begin == end);
|
||||
BOOST_TEST(begin == map.end());
|
||||
BOOST_TEST(std::distance(begin, end) == 0);
|
||||
|
||||
BOOST_TEST(key::count_ == expected_key_count);
|
||||
}
|
||||
@ -329,8 +334,10 @@ template <class UnorderedMap> void test_transparent_equal_range()
|
||||
|
||||
BOOST_TEST(begin != end);
|
||||
BOOST_TEST(begin != map.end());
|
||||
BOOST_TEST(std::distance(begin, end) == 1);
|
||||
|
||||
value_type const& val = *begin;
|
||||
BOOST_TEST(val.first.x_ == 0);
|
||||
BOOST_TEST(val.second == 1337);
|
||||
|
||||
iters = map.equal_range(1337);
|
||||
@ -340,6 +347,7 @@ template <class UnorderedMap> void test_transparent_equal_range()
|
||||
|
||||
BOOST_TEST(begin == end);
|
||||
BOOST_TEST(begin == map.end());
|
||||
BOOST_TEST(std::distance(begin, end) == 0);
|
||||
|
||||
BOOST_TEST(key::count_ == expected_key_count);
|
||||
}
|
||||
@ -352,8 +360,10 @@ template <class UnorderedMap> void test_non_transparent_equal_range()
|
||||
UnorderedMap unordered_map;
|
||||
|
||||
unordered_map[key(0)] = 1337;
|
||||
unordered_map[key(1)] = 1338;
|
||||
unordered_map[key(2)] = 1339;
|
||||
|
||||
int key_count = 2;
|
||||
int key_count = 6;
|
||||
|
||||
BOOST_TEST(key::count_ == key_count);
|
||||
|
||||
@ -374,8 +384,10 @@ template <class UnorderedMap> void test_non_transparent_equal_range()
|
||||
|
||||
BOOST_TEST(begin != end);
|
||||
BOOST_TEST(begin != map.end());
|
||||
BOOST_TEST(std::distance(begin, end) == 1);
|
||||
|
||||
value_type const& val = *begin;
|
||||
BOOST_TEST(val.first.x_ == 0);
|
||||
BOOST_TEST(val.second == 1337);
|
||||
|
||||
iters = map.equal_range(1337);
|
||||
@ -385,6 +397,7 @@ template <class UnorderedMap> void test_non_transparent_equal_range()
|
||||
|
||||
BOOST_TEST(begin == end);
|
||||
BOOST_TEST(begin == map.end());
|
||||
BOOST_TEST(std::distance(begin, end) == 0);
|
||||
|
||||
BOOST_TEST(key::count_ == 2 + key_count);
|
||||
key_count += 2;
|
||||
@ -403,8 +416,10 @@ template <class UnorderedMap> void test_non_transparent_equal_range()
|
||||
|
||||
BOOST_TEST(begin != end);
|
||||
BOOST_TEST(begin != map.end());
|
||||
BOOST_TEST(std::distance(begin, end) == 1);
|
||||
|
||||
value_type const& val = *begin;
|
||||
BOOST_TEST(val.first.x_ == 0);
|
||||
BOOST_TEST(val.second == 1337);
|
||||
|
||||
iters = map.equal_range(1337);
|
||||
@ -414,6 +429,7 @@ template <class UnorderedMap> void test_non_transparent_equal_range()
|
||||
|
||||
BOOST_TEST(begin == end);
|
||||
BOOST_TEST(begin == map.end());
|
||||
BOOST_TEST(std::distance(begin, end) == 0);
|
||||
|
||||
BOOST_TEST(key::count_ == 2 + key_count);
|
||||
}
|
||||
|
Reference in New Issue
Block a user