Remove my bogus MapVector::erase() with a narrower ::pop_back(), and add a unit test.
[oota-llvm.git] / unittests / ADT / MapVectorTest.cpp
index 9f613697d57409a90aacb52fa8c177e8292e9a6b..11178bc15e84ef3a05ff7daa3537e63b2e37dff4 100644 (file)
@@ -13,7 +13,7 @@
 
 using namespace llvm;
 
 
 using namespace llvm;
 
-TEST(MapVectorTest, insert) {
+TEST(MapVectorTest, insert_pop) {
   MapVector<int, int> MV;
   std::pair<MapVector<int, int>::iterator, bool> R;
 
   MapVector<int, int> MV;
   std::pair<MapVector<int, int>::iterator, bool> R;
 
@@ -38,4 +38,18 @@ TEST(MapVectorTest, insert) {
   EXPECT_EQ(MV.size(), 2u);
   EXPECT_EQ(MV[1], 2);
   EXPECT_EQ(MV[4], 5);
   EXPECT_EQ(MV.size(), 2u);
   EXPECT_EQ(MV[1], 2);
   EXPECT_EQ(MV[4], 5);
+
+  MV.pop_back();
+  EXPECT_EQ(MV.size(), 1u);
+  EXPECT_EQ(MV[1], 2);
+
+  R = MV.insert(std::make_pair(4, 7));
+  ASSERT_NE(R.first, MV.end());
+  EXPECT_EQ(R.first->first, 4);
+  EXPECT_EQ(R.first->second, 7);
+  EXPECT_TRUE(R.second);  
+
+  EXPECT_EQ(MV.size(), 2u);
+  EXPECT_EQ(MV[1], 2);
+  EXPECT_EQ(MV[4], 7);
 }
 }