summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/unittests/ADT/PriorityWorklistTest.cpp
diff options
context:
space:
mode:
authorpatrick <patrick@openbsd.org>2020-08-03 15:06:44 +0000
committerpatrick <patrick@openbsd.org>2020-08-03 15:06:44 +0000
commitb64793999546ed8adebaeebd9d8345d18db8927d (patch)
tree4357c27b561d73b0e089727c6ed659f2ceff5f47 /gnu/llvm/unittests/ADT/PriorityWorklistTest.cpp
parentAdd support for UTF-8 DISPLAY-HINTs with octet length. For now only (diff)
downloadwireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.tar.xz
wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.zip
Remove LLVM 8.0.1 files.
Diffstat (limited to 'gnu/llvm/unittests/ADT/PriorityWorklistTest.cpp')
-rw-r--r--gnu/llvm/unittests/ADT/PriorityWorklistTest.cpp153
1 files changed, 0 insertions, 153 deletions
diff --git a/gnu/llvm/unittests/ADT/PriorityWorklistTest.cpp b/gnu/llvm/unittests/ADT/PriorityWorklistTest.cpp
deleted file mode 100644
index 040a11f95f4..00000000000
--- a/gnu/llvm/unittests/ADT/PriorityWorklistTest.cpp
+++ /dev/null
@@ -1,153 +0,0 @@
-//===- llvm/unittest/ADT/PriorityWorklist.cpp -----------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// PriorityWorklist unit tests.
-//
-//===----------------------------------------------------------------------===//
-
-#include "llvm/ADT/PriorityWorklist.h"
-#include "gtest/gtest.h"
-#include <list>
-#include <vector>
-
-namespace {
-
-using namespace llvm;
-
-template <typename T> class PriorityWorklistTest : public ::testing::Test {};
-typedef ::testing::Types<PriorityWorklist<int>, SmallPriorityWorklist<int, 2>>
- TestTypes;
-TYPED_TEST_CASE(PriorityWorklistTest, TestTypes);
-
-TYPED_TEST(PriorityWorklistTest, Basic) {
- TypeParam W;
- EXPECT_TRUE(W.empty());
- EXPECT_EQ(0u, W.size());
- EXPECT_FALSE(W.count(42));
-
- EXPECT_TRUE(W.insert(21));
- EXPECT_TRUE(W.insert(42));
- EXPECT_TRUE(W.insert(17));
-
- EXPECT_FALSE(W.empty());
- EXPECT_EQ(3u, W.size());
- EXPECT_TRUE(W.count(42));
-
- EXPECT_FALSE(W.erase(75));
- EXPECT_EQ(3u, W.size());
- EXPECT_EQ(17, W.back());
-
- EXPECT_TRUE(W.erase(17));
- EXPECT_FALSE(W.count(17));
- EXPECT_EQ(2u, W.size());
- EXPECT_EQ(42, W.back());
-
- W.clear();
- EXPECT_TRUE(W.empty());
- EXPECT_EQ(0u, W.size());
-
- EXPECT_TRUE(W.insert(21));
- EXPECT_TRUE(W.insert(42));
- EXPECT_TRUE(W.insert(12));
- EXPECT_TRUE(W.insert(17));
- EXPECT_TRUE(W.count(12));
- EXPECT_TRUE(W.count(17));
- EXPECT_EQ(4u, W.size());
- EXPECT_EQ(17, W.back());
- EXPECT_TRUE(W.erase(12));
- EXPECT_FALSE(W.count(12));
- EXPECT_TRUE(W.count(17));
- EXPECT_EQ(3u, W.size());
- EXPECT_EQ(17, W.back());
-
- EXPECT_FALSE(W.insert(42));
- EXPECT_EQ(3u, W.size());
- EXPECT_EQ(42, W.pop_back_val());
- EXPECT_EQ(17, W.pop_back_val());
- EXPECT_EQ(21, W.pop_back_val());
- EXPECT_TRUE(W.empty());
-}
-
-TYPED_TEST(PriorityWorklistTest, InsertSequence) {
- TypeParam W;
- ASSERT_TRUE(W.insert(2));
- ASSERT_TRUE(W.insert(4));
- ASSERT_TRUE(W.insert(7));
- // Insert a sequence that has internal duplicates and a duplicate among
- // existing entries.
- W.insert(std::vector<int>({42, 13, 42, 7, 8}));
- EXPECT_EQ(8, W.pop_back_val());
- EXPECT_EQ(7, W.pop_back_val());
- EXPECT_EQ(42, W.pop_back_val());
- EXPECT_EQ(13, W.pop_back_val());
- EXPECT_EQ(4, W.pop_back_val());
- EXPECT_EQ(2, W.pop_back_val());
- ASSERT_TRUE(W.empty());
-
- // Simpler tests with various other input types.
- ASSERT_TRUE(W.insert(2));
- ASSERT_TRUE(W.insert(7));
- // Use a non-random-access container.
- W.insert(std::list<int>({7, 5}));
- EXPECT_EQ(5, W.pop_back_val());
- EXPECT_EQ(7, W.pop_back_val());
- EXPECT_EQ(2, W.pop_back_val());
- ASSERT_TRUE(W.empty());
-
- ASSERT_TRUE(W.insert(2));
- ASSERT_TRUE(W.insert(7));
- // Use a raw array.
- int A[] = {7, 5};
- W.insert(A);
- EXPECT_EQ(5, W.pop_back_val());
- EXPECT_EQ(7, W.pop_back_val());
- EXPECT_EQ(2, W.pop_back_val());
- ASSERT_TRUE(W.empty());
-
- ASSERT_TRUE(W.insert(2));
- ASSERT_TRUE(W.insert(7));
- // Inserting an empty sequence does nothing.
- W.insert(std::vector<int>());
- EXPECT_EQ(7, W.pop_back_val());
- EXPECT_EQ(2, W.pop_back_val());
- ASSERT_TRUE(W.empty());
-}
-
-TYPED_TEST(PriorityWorklistTest, EraseIf) {
- TypeParam W;
- W.insert(23);
- W.insert(10);
- W.insert(47);
- W.insert(42);
- W.insert(23);
- W.insert(13);
- W.insert(26);
- W.insert(42);
- EXPECT_EQ(6u, W.size());
-
- EXPECT_FALSE(W.erase_if([](int i) { return i > 100; }));
- EXPECT_EQ(6u, W.size());
- EXPECT_EQ(42, W.back());
-
- EXPECT_TRUE(W.erase_if([](int i) {
- assert(i != 0 && "Saw a null value!");
- return (i & 1) == 0;
- }));
- EXPECT_EQ(3u, W.size());
- EXPECT_FALSE(W.count(42));
- EXPECT_FALSE(W.count(26));
- EXPECT_FALSE(W.count(10));
- EXPECT_FALSE(W.insert(47));
- EXPECT_FALSE(W.insert(23));
- EXPECT_EQ(23, W.pop_back_val());
- EXPECT_EQ(47, W.pop_back_val());
- EXPECT_EQ(13, W.pop_back_val());
-}
-
-}