Missed formatting
[oota-llvm.git] / unittests / ADT / BitVectorTest.cpp
index e50ff8a67a84ecb2458ad0cce6dfb280659501c2..3deaff0fe3569b447451a95ebea6bd162614f1a7 100644 (file)
@@ -141,6 +141,30 @@ TYPED_TEST(BitVectorTest, TrivialOperation) {
   EXPECT_TRUE(Vec.none());
   EXPECT_FALSE(Vec.empty());
 
+  Vec.flip();
+  EXPECT_EQ(130U, Vec.count());
+  EXPECT_EQ(130U, Vec.size());
+  EXPECT_TRUE(Vec.any());
+  EXPECT_TRUE(Vec.all());
+  EXPECT_FALSE(Vec.none());
+  EXPECT_FALSE(Vec.empty());
+
+  Vec.resize(64);
+  EXPECT_EQ(64U, Vec.count());
+  EXPECT_EQ(64U, Vec.size());
+  EXPECT_TRUE(Vec.any());
+  EXPECT_TRUE(Vec.all());
+  EXPECT_FALSE(Vec.none());
+  EXPECT_FALSE(Vec.empty());
+
+  Vec.flip();
+  EXPECT_EQ(0U, Vec.count());
+  EXPECT_EQ(64U, Vec.size());
+  EXPECT_FALSE(Vec.any());
+  EXPECT_FALSE(Vec.all());
+  EXPECT_TRUE(Vec.none());
+  EXPECT_FALSE(Vec.empty());
+
   Inv = TypeParam().flip();
   EXPECT_EQ(0U, Inv.count());
   EXPECT_EQ(0U, Inv.size());
@@ -322,6 +346,58 @@ TYPED_TEST(BitVectorTest, RangeOps) {
   EXPECT_FALSE(D.test(0));
   EXPECT_TRUE( D.test(1));
   EXPECT_TRUE( D.test(2));
+
+  TypeParam E;
+  E.resize(128);
+  E.reset();
+  E.set(1, 33);
+
+  EXPECT_FALSE(E.test(0));
+  EXPECT_TRUE( E.test(1));
+  EXPECT_TRUE( E.test(32));
+  EXPECT_FALSE(E.test(33));
+
+  TypeParam BufferOverrun;
+  unsigned size = sizeof(unsigned long) * 8;
+  BufferOverrun.resize(size);
+  BufferOverrun.reset(0, size);
+  BufferOverrun.set(0, size);
+}
+
+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