SparseBitVectorTest.cpp 917 B

123456789101112131415161718192021222324252627282930313233343536
  1. //===- llvm/unittest/ADT/SparseBitVectorTest.cpp - SparseBitVector tests --===//
  2. //
  3. // The LLVM Compiler Infrastructure
  4. //
  5. // This file is distributed under the University of Illinois Open Source
  6. // License. See LICENSE.TXT for details.
  7. //
  8. //===----------------------------------------------------------------------===//
  9. #include "llvm/ADT/SparseBitVector.h"
  10. #include "gtest/gtest.h"
  11. using namespace llvm;
  12. namespace {
  13. TEST(SparseBitVectorTest, TrivialOperation) {
  14. SparseBitVector<> Vec;
  15. EXPECT_EQ(0U, Vec.count());
  16. EXPECT_FALSE(Vec.test(17));
  17. Vec.set(5);
  18. EXPECT_TRUE(Vec.test(5));
  19. EXPECT_FALSE(Vec.test(17));
  20. Vec.reset(6);
  21. EXPECT_TRUE(Vec.test(5));
  22. EXPECT_FALSE(Vec.test(6));
  23. Vec.reset(5);
  24. EXPECT_FALSE(Vec.test(5));
  25. EXPECT_TRUE(Vec.test_and_set(17));
  26. EXPECT_FALSE(Vec.test_and_set(17));
  27. EXPECT_TRUE(Vec.test(17));
  28. Vec.clear();
  29. EXPECT_FALSE(Vec.test(17));
  30. }
  31. }