コード例 #1
0
ファイル: test.cpp プロジェクト: MethodGrab/Karabiner
TEST(Vector, reserve) {
  EXPECT_EQ(0, TestItem::counter);

  Vector_TestItem v;
  const size_t MAXITEM = 100;

  v.reserve(1000);

  EXPECT_TRUE(v.empty());
  EXPECT_EQ(static_cast<size_t>(1000), v.capacity());

  for (size_t i = 0; i < MAXITEM; ++i) {
    // push twice
    EXPECT_EQ(i * 2, v.size());
    EXPECT_EQ(static_cast<size_t>(1000), v.capacity());
    v.push_back(TestItem(i)).push_back(TestItem(i));
    EXPECT_EQ(i * 2 + 2, v.size());
    EXPECT_EQ(static_cast<size_t>(1000), v.capacity());
  }

  for (size_t i = 0; i < MAXITEM; ++i) {
    EXPECT_EQ(i, v[i * 2 + 0].v());
    EXPECT_EQ(i, v[i * 2 + 1].v());
  }

  EXPECT_TRUE(!v.empty());
}
コード例 #2
0
ファイル: test.cpp プロジェクト: MethodGrab/Karabiner
TEST(Vector, clear) {
  EXPECT_EQ(0, TestItem::counter);

  Vector_TestItem v;
  v.reserve(1000);
  EXPECT_EQ(static_cast<size_t>(1000), v.capacity());

  v.clear();
  EXPECT_EQ(static_cast<size_t>(0), v.capacity());

  // --------------------
  v.push_back(TestItem(1));
  v.push_back(TestItem(2));
  EXPECT_EQ(static_cast<size_t>(2), v.capacity());

  v.clear();
  EXPECT_EQ(static_cast<size_t>(0), v.capacity());
}