//===- llvm/unittest/ADT/SetVector.cpp ------------------------------===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // SetVector unit tests. // //===----------------------------------------------------------------------===// #include "llvm/ADT/SetVector.h" #include "gtest/gtest.h" using namespace llvm; TEST(SetVector, EraseTest) { SetVector S; S.insert(0); S.insert(1); S.insert(2); auto I = S.erase(std::next(S.begin())); // Test that the returned iterator is the expected one-after-erase // and the size/contents is the expected sequence {0, 2}. EXPECT_EQ(std::next(S.begin()), I); EXPECT_EQ(2u, S.size()); EXPECT_EQ(0, *S.begin()); EXPECT_EQ(2, *std::next(S.begin())); }