Mercurial > hg > CbC > CbC_llvm
diff unittests/ADT/StringSetTest.cpp @ 148:63bd29f05246
merged
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 14 Aug 2019 19:46:37 +0900 |
parents | c2174574ed3a |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/unittests/ADT/StringSetTest.cpp Wed Aug 14 19:46:37 2019 +0900 @@ -0,0 +1,44 @@ +//===- 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 = StringMapEntry<StringRef>::Create("A"); + Set.insert(*Element); + size_t Count = Set.count(*Element); + size_t Expected = 1; + EXPECT_EQ(Expected, Count); + Element->Destroy(); +} + +} // end anonymous namespace