diff options
Diffstat (limited to 'contrib/llvm/unittests/ADT/DenseMapTest.cpp')
-rw-r--r-- | contrib/llvm/unittests/ADT/DenseMapTest.cpp | 179 |
1 files changed, 0 insertions, 179 deletions
diff --git a/contrib/llvm/unittests/ADT/DenseMapTest.cpp b/contrib/llvm/unittests/ADT/DenseMapTest.cpp deleted file mode 100644 index afac651..0000000 --- a/contrib/llvm/unittests/ADT/DenseMapTest.cpp +++ /dev/null @@ -1,179 +0,0 @@ -//===- llvm/unittest/ADT/DenseMapMap.cpp - DenseMap 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/DenseMap.h" - -using namespace llvm; - -namespace { - -// Test fixture -class DenseMapTest : public testing::Test { -protected: - DenseMap<uint32_t, uint32_t> uintMap; - DenseMap<uint32_t *, uint32_t *> uintPtrMap; - uint32_t dummyInt; -}; - -// Empty map tests -TEST_F(DenseMapTest, EmptyIntMapTest) { - // Size tests - EXPECT_EQ(0u, uintMap.size()); - EXPECT_TRUE(uintMap.empty()); - - // Iterator tests - EXPECT_TRUE(uintMap.begin() == uintMap.end()); - - // Lookup tests - EXPECT_FALSE(uintMap.count(0u)); - EXPECT_TRUE(uintMap.find(0u) == uintMap.end()); - EXPECT_EQ(0u, uintMap.lookup(0u)); -} - -// Empty map tests for pointer map -TEST_F(DenseMapTest, EmptyPtrMapTest) { - // Size tests - EXPECT_EQ(0u, uintPtrMap.size()); - EXPECT_TRUE(uintPtrMap.empty()); - - // Iterator tests - EXPECT_TRUE(uintPtrMap.begin() == uintPtrMap.end()); - - // Lookup tests - EXPECT_FALSE(uintPtrMap.count(&dummyInt)); - EXPECT_TRUE(uintPtrMap.find(&dummyInt) == uintPtrMap.begin()); - EXPECT_EQ(0, uintPtrMap.lookup(&dummyInt)); -} - -// Constant map tests -TEST_F(DenseMapTest, ConstEmptyMapTest) { - const DenseMap<uint32_t, uint32_t> & constUintMap = uintMap; - const DenseMap<uint32_t *, uint32_t *> & constUintPtrMap = uintPtrMap; - EXPECT_EQ(0u, constUintMap.size()); - EXPECT_EQ(0u, constUintPtrMap.size()); - EXPECT_TRUE(constUintMap.empty()); - EXPECT_TRUE(constUintPtrMap.empty()); - EXPECT_TRUE(constUintMap.begin() == constUintMap.end()); - EXPECT_TRUE(constUintPtrMap.begin() == constUintPtrMap.end()); -} - -// A map with a single entry -TEST_F(DenseMapTest, SingleEntryMapTest) { - uintMap[0] = 1; - - // Size tests - EXPECT_EQ(1u, uintMap.size()); - EXPECT_FALSE(uintMap.begin() == uintMap.end()); - EXPECT_FALSE(uintMap.empty()); - - // Iterator tests - DenseMap<uint32_t, uint32_t>::iterator it = uintMap.begin(); - EXPECT_EQ(0u, it->first); - EXPECT_EQ(1u, it->second); - ++it; - EXPECT_TRUE(it == uintMap.end()); - - // Lookup tests - EXPECT_TRUE(uintMap.count(0u)); - EXPECT_TRUE(uintMap.find(0u) == uintMap.begin()); - EXPECT_EQ(1u, uintMap.lookup(0u)); - EXPECT_EQ(1u, uintMap[0]); -} - -// Test clear() method -TEST_F(DenseMapTest, ClearTest) { - uintMap[0] = 1; - uintMap.clear(); - - EXPECT_EQ(0u, uintMap.size()); - EXPECT_TRUE(uintMap.empty()); - EXPECT_TRUE(uintMap.begin() == uintMap.end()); -} - -// Test erase(iterator) method -TEST_F(DenseMapTest, EraseTest) { - uintMap[0] = 1; - uintMap.erase(uintMap.begin()); - - EXPECT_EQ(0u, uintMap.size()); - EXPECT_TRUE(uintMap.empty()); - EXPECT_TRUE(uintMap.begin() == uintMap.end()); -} - -// Test erase(value) method -TEST_F(DenseMapTest, EraseTest2) { - uintMap[0] = 1; - uintMap.erase(0); - - EXPECT_EQ(0u, uintMap.size()); - EXPECT_TRUE(uintMap.empty()); - EXPECT_TRUE(uintMap.begin() == uintMap.end()); -} - -// Test insert() method -TEST_F(DenseMapTest, InsertTest) { - uintMap.insert(std::make_pair(0u, 1u)); - EXPECT_EQ(1u, uintMap.size()); - EXPECT_EQ(1u, uintMap[0]); -} - -// Test copy constructor method -TEST_F(DenseMapTest, CopyConstructorTest) { - uintMap[0] = 1; - DenseMap<uint32_t, uint32_t> copyMap(uintMap); - - EXPECT_EQ(1u, copyMap.size()); - EXPECT_EQ(1u, copyMap[0]); -} - -// Test assignment operator method -TEST_F(DenseMapTest, AssignmentTest) { - uintMap[0] = 1; - DenseMap<uint32_t, uint32_t> copyMap = uintMap; - - EXPECT_EQ(1u, copyMap.size()); - EXPECT_EQ(1u, copyMap[0]); -} - -// A more complex iteration test -TEST_F(DenseMapTest, IterationTest) { - bool visited[100]; - - // Insert 100 numbers into the map - for (int i = 0; i < 100; ++i) { - visited[i] = false; - uintMap[i] = 3; - } - - // Iterate over all numbers and mark each one found. - for (DenseMap<uint32_t, uint32_t>::iterator it = uintMap.begin(); - it != uintMap.end(); ++it) { - visited[it->first] = true; - } - - // Ensure every number was visited. - for (int i = 0; i < 100; ++i) { - ASSERT_TRUE(visited[i]) << "Entry #" << i << " was never visited"; - } -} - -// const_iterator test -TEST_F(DenseMapTest, ConstIteratorTest) { - // Check conversion from iterator to const_iterator. - DenseMap<uint32_t, uint32_t>::iterator it = uintMap.begin(); - DenseMap<uint32_t, uint32_t>::const_iterator cit(it); - EXPECT_TRUE(it == cit); - - // Check copying of const_iterators. - DenseMap<uint32_t, uint32_t>::const_iterator cit2(cit); - EXPECT_TRUE(cit == cit2); -} - -} |