aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/ADT/DenseMapTest.cpp
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2018-10-15 15:26:47 +0000
committerLang Hames <lhames@gmail.com>2018-10-15 15:26:47 +0000
commitcb1f0cf54b695ee4b79f7b1639b5d997139ded16 (patch)
tree7138bde09f18c1d49a82428a2c05b678f3602c28 /llvm/unittests/ADT/DenseMapTest.cpp
parent397704ca402fccc19555b88d91d49546df3a388d (diff)
downloadllvm-cb1f0cf54b695ee4b79f7b1639b5d997139ded16.zip
llvm-cb1f0cf54b695ee4b79f7b1639b5d997139ded16.tar.gz
llvm-cb1f0cf54b695ee4b79f7b1639b5d997139ded16.tar.bz2
[ADT] Adds equality operators for DenseMap and DenseSet, and an initializer_list
constructor for DenseMap (DenseSet already had an initializer_list constructor). These changes make it easier to migrate existing code that uses std::map and std::set (which support initializer_list construction and equality comparison) to DenseMap and DenseSet. llvm-svn: 344522
Diffstat (limited to 'llvm/unittests/ADT/DenseMapTest.cpp')
-rw-r--r--llvm/unittests/ADT/DenseMapTest.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/llvm/unittests/ADT/DenseMapTest.cpp b/llvm/unittests/ADT/DenseMapTest.cpp
index 87f22f6..ee9c5dd 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