summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/ADT
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/unittests/ADT')
-rw-r--r--llvm/unittests/ADT/DenseMapTest.cpp20
-rw-r--r--llvm/unittests/ADT/DenseSetTest.cpp9
2 files changed, 29 insertions, 0 deletions
diff --git a/llvm/unittests/ADT/DenseMapTest.cpp b/llvm/unittests/ADT/DenseMapTest.cpp
index 87f22f6f403..ee9c5dd3800 100644
--- a/llvm/unittests/ADT/DenseMapTest.cpp
+++ b/llvm/unittests/ADT/DenseMapTest.cpp
@@ -362,6 +362,26 @@ int CountCopyAndMove::Move = 0;
} // anonymous namespace
+// Test initializer list construction.
+TEST(DenseMapCustomTest, InitializerList) {
+ DenseMap<int, int> M({{0, 0}, {0, 1}, {1, 2}});
+ EXPECT_EQ(2u, M.size());
+ EXPECT_EQ(1u, M.count(0));
+ EXPECT_EQ(0, M[0]);
+ EXPECT_EQ(1u, M.count(1));
+ EXPECT_EQ(2, M[1]);
+}
+
+// Test initializer list construction.
+TEST(DenseMapCustomTest, EqualityComparison) {
+ DenseMap<int, int> M1({{0, 0}, {1, 2}});
+ DenseMap<int, int> M2({{0, 0}, {1, 2}});
+ DenseMap<int, int> M3({{0, 0}, {1, 3}});
+
+ EXPECT_EQ(M1, M2);
+ EXPECT_NE(M1, M3);
+}
+
// Test for the default minimum size of a DenseMap
TEST(DenseMapCustomTest, DefaultMinReservedSizeTest) {
// IF THIS VALUE CHANGE, please update InitialSizeTest, InitFromIterator, and
diff --git a/llvm/unittests/ADT/DenseSetTest.cpp b/llvm/unittests/ADT/DenseSetTest.cpp
index 0247f023dce..04f84e041fb 100644
--- a/llvm/unittests/ADT/DenseSetTest.cpp
+++ b/llvm/unittests/ADT/DenseSetTest.cpp
@@ -121,6 +121,15 @@ TYPED_TEST(DenseSetTest, FindAsTest) {
EXPECT_TRUE(set.find_as("d") == set.end());
}
+TYPED_TEST(DenseSetTest, EqualityComparisonTest) {
+ TypeParam set1({1, 2, 3, 4});
+ TypeParam set2({4, 3, 2, 1});
+ TypeParam set3({2, 3, 4, 5});
+
+ EXPECT_EQ(set1, set2);
+ EXPECT_NE(set1, set3);
+}
+
// Simple class that counts how many moves and copy happens when growing a map
struct CountCopyAndMove {
static int Move;
OpenPOWER on IntegriCloud