diff options
| author | Michael Pozulp <pozulp.llvm@gmail.com> | 2019-06-07 03:23:00 +0000 |
|---|---|---|
| committer | Michael Pozulp <pozulp.llvm@gmail.com> | 2019-06-07 03:23:00 +0000 |
| commit | 0bddef79019a23ab14fcdb27028e55e484674c88 (patch) | |
| tree | 47569e8e1718148202c11a439a3704b5d9229bd2 /llvm/unittests/ADT/StringSetTest.cpp | |
| parent | c7903b9f1e98e28ce4496c36668510908c6672f8 (diff) | |
| download | bcm5719-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/StringSetTest.cpp')
| -rw-r--r-- | llvm/unittests/ADT/StringSetTest.cpp | 43 |
1 files changed, 43 insertions, 0 deletions
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 |

