#include "mixed_arena.h" #include "gtest/gtest.h" using ArenaTest = ::testing::Test; TEST_F(ArenaTest, Swap) { MixedArena arena; ArenaVector<int> a(arena); a.push_back(10); a.push_back(20); ArenaVector<int> b(arena); EXPECT_EQ(a.size(), 2U); EXPECT_EQ(b.size(), 0U); a.swap(b); EXPECT_EQ(a.size(), 0U); EXPECT_EQ(b.size(), 2U); a.swap(b); EXPECT_EQ(a.size(), 2U); EXPECT_EQ(b.size(), 0U); // Now reverse a and b. The swap should be the same. b.swap(a); EXPECT_EQ(a.size(), 0U); EXPECT_EQ(b.size(), 2U); b.swap(a); EXPECT_EQ(a.size(), 2U); EXPECT_EQ(b.size(), 0U); }