aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/ADT/BitVectorTest.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2013-07-11 21:59:16 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2013-07-11 21:59:16 +0000
commit1c7fcccb499d440b74037b5b0f547bbf1fe1f673 (patch)
treeb91d447c4fd1f81c7b6806e9b0da5c5f2f1d1856 /llvm/unittests/ADT/BitVectorTest.cpp
parentda504ff00a6cf2e33260f1faa58381559b50a645 (diff)
downloadllvm-1c7fcccb499d440b74037b5b0f547bbf1fe1f673.zip
llvm-1c7fcccb499d440b74037b5b0f547bbf1fe1f673.tar.gz
llvm-1c7fcccb499d440b74037b5b0f547bbf1fe1f673.tar.bz2
Sync SmallBitVector with BitVector. Add unit tests for the missing methods.
llvm-svn: 186123
Diffstat (limited to 'llvm/unittests/ADT/BitVectorTest.cpp')
-rw-r--r--llvm/unittests/ADT/BitVectorTest.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/llvm/unittests/ADT/BitVectorTest.cpp b/llvm/unittests/ADT/BitVectorTest.cpp
index 85e1594..d7cde89 100644
--- a/llvm/unittests/ADT/BitVectorTest.cpp
+++ b/llvm/unittests/ADT/BitVectorTest.cpp
@@ -357,5 +357,41 @@ TYPED_TEST(BitVectorTest, RangeOps) {
EXPECT_TRUE( E.test(32));
EXPECT_FALSE(E.test(33));
}
+
+TYPED_TEST(BitVectorTest, CompoundTestReset) {
+ TypeParam A(50, true);
+ TypeParam B(50, false);
+
+ TypeParam C(100, true);
+ TypeParam D(100, false);
+
+ EXPECT_FALSE(A.test(A));
+ EXPECT_TRUE(A.test(B));
+ EXPECT_FALSE(A.test(C));
+ EXPECT_TRUE(A.test(D));
+ EXPECT_FALSE(B.test(A));
+ EXPECT_FALSE(B.test(B));
+ EXPECT_FALSE(B.test(C));
+ EXPECT_FALSE(B.test(D));
+ EXPECT_TRUE(C.test(A));
+ EXPECT_TRUE(C.test(B));
+ EXPECT_FALSE(C.test(C));
+ EXPECT_TRUE(C.test(D));
+
+ A.reset(B);
+ A.reset(D);
+ EXPECT_TRUE(A.all());
+ A.reset(A);
+ EXPECT_TRUE(A.none());
+ A.set();
+ A.reset(C);
+ EXPECT_TRUE(A.none());
+ A.set();
+
+ C.reset(A);
+ EXPECT_EQ(50, C.find_first());
+ C.reset(C);
+ EXPECT_TRUE(C.none());
+}
}
#endif