summaryrefslogtreecommitdiff
path: root/unittests/ADT/SparseBitVectorTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'unittests/ADT/SparseBitVectorTest.cpp')
-rw-r--r--unittests/ADT/SparseBitVectorTest.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/unittests/ADT/SparseBitVectorTest.cpp b/unittests/ADT/SparseBitVectorTest.cpp
index 9d6f4f1665d54..7675ddac14b67 100644
--- a/unittests/ADT/SparseBitVectorTest.cpp
+++ b/unittests/ADT/SparseBitVectorTest.cpp
@@ -31,6 +31,27 @@ TEST(SparseBitVectorTest, TrivialOperation) {
EXPECT_TRUE(Vec.test(17));
Vec.clear();
EXPECT_FALSE(Vec.test(17));
+
+ Vec.set(5);
+ const SparseBitVector<> ConstVec = Vec;
+ EXPECT_TRUE(ConstVec.test(5));
+ EXPECT_FALSE(ConstVec.test(17));
+
+ Vec.set(1337);
+ EXPECT_TRUE(Vec.test(1337));
+ Vec = ConstVec;
+ EXPECT_FALSE(Vec.test(1337));
+
+ Vec.set(1337);
+ EXPECT_FALSE(Vec.empty());
+ SparseBitVector<> MovedVec(std::move(Vec));
+ EXPECT_TRUE(Vec.empty());
+ EXPECT_TRUE(MovedVec.test(5));
+ EXPECT_TRUE(MovedVec.test(1337));
+
+ Vec = std::move(MovedVec);
+ EXPECT_TRUE(MovedVec.empty());
+ EXPECT_FALSE(Vec.empty());
}
TEST(SparseBitVectorTest, IntersectWith) {