//===- unittest/ADT/MapVectorTest.cpp - MapVector unit tests ----*- C++ -*-===////// The LLVM Compiler Infrastructure//// This file is distributed under the University of Illinois Open Source// License. See LICENSE.TXT for details.////===----------------------------------------------------------------------===//#include"gtest/gtest.h"#include"llvm/ADT/MapVector.h"#include<utility>usingnamespacellvm;TEST(MapVectorTest,insert_pop){MapVector<int,int>MV;std::pair<MapVector<int,int>::iterator,bool>R;R=MV.insert(std::make_pair(1,2));ASSERT_EQ(R.first,MV.begin());EXPECT_EQ(R.first->first,1);EXPECT_EQ(R.first->second,2);EXPECT_TRUE(R.second);R=MV.insert(std::make_pair(1,3));ASSERT_EQ(R.first,MV.begin());EXPECT_EQ(R.first->first,1);EXPECT_EQ(R.first->second,2);EXPECT_FALSE(R.second);R=MV.insert(std::make_pair(4,5));ASSERT_NE(R.first,MV.end());EXPECT_EQ(R.first->first,4);EXPECT_EQ(R.first->second,5);EXPECT_TRUE(R.second);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);}