Index: base/containers/flat_map_unittest.cc |
diff --git a/base/containers/flat_map_unittest.cc b/base/containers/flat_map_unittest.cc |
index 18524efb6c70a78844bc5acc1c14cea6d0eaa349..0556527635a69ebe16153cd33134fdefc8e96fe6 100644 |
--- a/base/containers/flat_map_unittest.cc |
+++ b/base/containers/flat_map_unittest.cc |
@@ -36,10 +36,16 @@ TEST(FlatMap, IncompleteType) { |
TEST(FlatMap, RangeConstructor) { |
flat_map<int, int>::value_type input_vals[] = { |
- {1, 1}, {1, 1}, {1, 1}, {2, 2}, {2, 2}, {2, 2}, {3, 3}, {3, 3}, {3, 3}}; |
+ {1, 1}, {1, 2}, {1, 3}, {2, 1}, {2, 2}, {2, 3}, {3, 1}, {3, 2}, {3, 3}}; |
- flat_map<int, int> cont(std::begin(input_vals), std::end(input_vals)); |
- EXPECT_THAT(cont, ElementsAre(std::make_pair(1, 1), std::make_pair(2, 2), |
+ flat_map<int, int> first(std::begin(input_vals), std::end(input_vals), |
+ KEEP_FIRST_OF_DUPES); |
+ EXPECT_THAT(first, ElementsAre(std::make_pair(1, 1), std::make_pair(2, 1), |
+ std::make_pair(3, 1))); |
+ |
+ flat_map<int, int> last(std::begin(input_vals), std::end(input_vals), |
+ KEEP_LAST_OF_DUPES); |
+ EXPECT_THAT(last, ElementsAre(std::make_pair(1, 3), std::make_pair(2, 3), |
std::make_pair(3, 3))); |
} |
@@ -60,13 +66,40 @@ TEST(FlatMap, MoveConstructor) { |
EXPECT_EQ(1U, moved.count(MoveOnlyInt(4))); |
} |
+TEST(FlatMap, VectorConstructor) { |
+ using IntPair = std::pair<int, int>; |
+ using IntMap = flat_map<int, int>; |
+ { |
+ std::vector<IntPair> vect{{1, 1}, {1, 2}, {2, 1}}; |
+ IntMap map(std::move(vect), KEEP_FIRST_OF_DUPES); |
+ EXPECT_THAT(map, ElementsAre(IntPair(1, 1), IntPair(2, 1))); |
+ } |
+ { |
+ std::vector<IntPair> vect{{1, 1}, {1, 2}, {2, 1}}; |
+ IntMap map(std::move(vect), KEEP_LAST_OF_DUPES); |
+ EXPECT_THAT(map, ElementsAre(IntPair(1, 2), IntPair(2, 1))); |
+ } |
+} |
+ |
TEST(FlatMap, InitializerListConstructor) { |
- flat_map<int, int> cont{{1, 1}, {2, 2}, {3, 3}, {4, 4}, |
- {5, 5}, {6, 6}, {10, 10}, {8, 8}}; |
- EXPECT_THAT(cont, ElementsAre(std::make_pair(1, 1), std::make_pair(2, 2), |
- std::make_pair(3, 3), std::make_pair(4, 4), |
- std::make_pair(5, 5), std::make_pair(6, 6), |
- std::make_pair(8, 8), std::make_pair(10, 10))); |
+ { |
+ flat_map<int, int> cont( |
+ {{1, 1}, {2, 2}, {3, 3}, {4, 4}, {5, 5}, {1, 2}, {10, 10}, {8, 8}}, |
+ KEEP_FIRST_OF_DUPES); |
+ EXPECT_THAT(cont, ElementsAre(std::make_pair(1, 1), std::make_pair(2, 2), |
+ std::make_pair(3, 3), std::make_pair(4, 4), |
+ std::make_pair(5, 5), std::make_pair(8, 8), |
+ std::make_pair(10, 10))); |
+ } |
+ { |
+ flat_map<int, int> cont( |
+ {{1, 1}, {2, 2}, {3, 3}, {4, 4}, {5, 5}, {1, 2}, {10, 10}, {8, 8}}, |
+ KEEP_LAST_OF_DUPES); |
+ EXPECT_THAT(cont, ElementsAre(std::make_pair(1, 2), std::make_pair(2, 2), |
+ std::make_pair(3, 3), std::make_pair(4, 4), |
+ std::make_pair(5, 5), std::make_pair(8, 8), |
+ std::make_pair(10, 10))); |
+ } |
} |
TEST(FlatMap, InsertFindSize) { |