-// Test insert(pair<K, V>) method
-TEST_F(StringMapTest, InsertPairTest) {
- bool Inserted;
- StringMap<uint32_t>::iterator NewIt;
- std::tie(NewIt, Inserted) =
- testMap.insert(std::make_pair(testKeyFirst, testValue));
- EXPECT_EQ(1u, testMap.size());
- EXPECT_EQ(testValue, testMap[testKeyFirst]);
- EXPECT_EQ(testKeyFirst, NewIt->first());
- EXPECT_EQ(testValue, NewIt->second);
- EXPECT_TRUE(Inserted);
-
- StringMap<uint32_t>::iterator ExistingIt;
- std::tie(ExistingIt, Inserted) =
- testMap.insert(std::make_pair(testKeyFirst, testValue + 1));
- EXPECT_EQ(1u, testMap.size());
- EXPECT_EQ(testValue, testMap[testKeyFirst]);
- EXPECT_FALSE(Inserted);
- EXPECT_EQ(NewIt, ExistingIt);
-}
-
-// Test insert(pair<K, V>) method when rehashing occurs
-TEST_F(StringMapTest, InsertRehashingPairTest) {
- // Check that the correct iterator is returned when the inserted element is
- // moved to a different bucket during internal rehashing. This depends on
- // the particular key, and the implementation of StringMap and HashString.
- // Changes to those might result in this test not actually checking that.
- StringMap<uint32_t> t(1);
- EXPECT_EQ(1u, t.getNumBuckets());
-
- StringMap<uint32_t>::iterator It =
- t.insert(std::make_pair("abcdef", 42)).first;
- EXPECT_EQ(2u, t.getNumBuckets());
- EXPECT_EQ("abcdef", It->first());
- EXPECT_EQ(42u, It->second);
-}
-