summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/ADT
diff options
context:
space:
mode:
authorMichael Pozulp <pozulp.llvm@gmail.com>2019-06-07 03:23:00 +0000
committerMichael Pozulp <pozulp.llvm@gmail.com>2019-06-07 03:23:00 +0000
commit0bddef79019a23ab14fcdb27028e55e484674c88 (patch)
tree47569e8e1718148202c11a439a3704b5d9229bd2 /llvm/unittests/ADT
parentc7903b9f1e98e28ce4496c36668510908c6672f8 (diff)
downloadbcm5719-llvm-0bddef79019a23ab14fcdb27028e55e484674c88.tar.gz
bcm5719-llvm-0bddef79019a23ab14fcdb27028e55e484674c88.zip
[ADT] Enable set_difference() to be used on StringSet
Subscribers: mgorny, mgrang, dexonsmith, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D62992 llvm-svn: 362766
Diffstat (limited to 'llvm/unittests/ADT')
-rw-r--r--llvm/unittests/ADT/CMakeLists.txt1
-rw-r--r--llvm/unittests/ADT/StringMapTest.cpp15
-rw-r--r--llvm/unittests/ADT/StringSetTest.cpp43
3 files changed, 44 insertions, 15 deletions
diff --git a/llvm/unittests/ADT/CMakeLists.txt b/llvm/unittests/ADT/CMakeLists.txt
index d2a35273389..676ce181871 100644
--- a/llvm/unittests/ADT/CMakeLists.txt
+++ b/llvm/unittests/ADT/CMakeLists.txt
@@ -65,6 +65,7 @@ add_llvm_unittest(ADTTests
StringExtrasTest.cpp
StringMapTest.cpp
StringRefTest.cpp
+ StringSetTest.cpp
StringSwitchTest.cpp
TinyPtrVectorTest.cpp
TripleTest.cpp
diff --git a/llvm/unittests/ADT/StringMapTest.cpp b/llvm/unittests/ADT/StringMapTest.cpp
index 841b5153935..4038d4d3d2f 100644
--- a/llvm/unittests/ADT/StringMapTest.cpp
+++ b/llvm/unittests/ADT/StringMapTest.cpp
@@ -7,7 +7,6 @@
//===----------------------------------------------------------------------===//
#include "llvm/ADT/StringMap.h"
-#include "llvm/ADT/StringSet.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Support/DataTypes.h"
#include "gtest/gtest.h"
@@ -284,20 +283,6 @@ TEST_F(StringMapTest, IterMapKeys) {
EXPECT_EQ(Expected, Keys);
}
-TEST_F(StringMapTest, IterSetKeys) {
- StringSet<> Set;
- Set.insert("A");
- Set.insert("B");
- Set.insert("C");
- Set.insert("D");
-
- auto Keys = to_vector<4>(Set.keys());
- llvm::sort(Keys);
-
- SmallVector<StringRef, 4> Expected = {"A", "B", "C", "D"};
- EXPECT_EQ(Expected, Keys);
-}
-
// Create a non-default constructable value
struct StringMapTestStruct {
StringMapTestStruct(int i) : i(i) {}
diff --git a/llvm/unittests/ADT/StringSetTest.cpp b/llvm/unittests/ADT/StringSetTest.cpp
new file mode 100644
index 00000000000..822fe52f191
--- /dev/null
+++ b/llvm/unittests/ADT/StringSetTest.cpp
@@ -0,0 +1,43 @@
+//===- llvm/unittest/ADT/StringSetTest.cpp - StringSet unit tests ----------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include "llvm/ADT/StringSet.h"
+#include "gtest/gtest.h"
+using namespace llvm;
+
+namespace {
+
+// Test fixture
+class StringSetTest : public testing::Test {};
+
+TEST_F(StringSetTest, IterSetKeys) {
+ StringSet<> Set;
+ Set.insert("A");
+ Set.insert("B");
+ Set.insert("C");
+ Set.insert("D");
+
+ auto Keys = to_vector<4>(Set.keys());
+ llvm::sort(Keys);
+
+ SmallVector<StringRef, 4> Expected = {"A", "B", "C", "D"};
+ EXPECT_EQ(Expected, Keys);
+}
+
+TEST_F(StringSetTest, InsertAndCountStringMapEntry) {
+ // Test insert(StringMapEntry) and count(StringMapEntry)
+ // which are required for set_difference(StringSet, StringSet).
+ StringSet<> Set;
+ StringMapEntry<StringRef> Element(1, "A");
+ Set.insert(Element);
+ size_t Count = Set.count(Element);
+ size_t Expected = 1;
+ EXPECT_EQ(Expected, Count);
+}
+
+} // end anonymous namespace
OpenPOWER on IntegriCloud