diff options
Diffstat (limited to 'src/trace_processor/containers/bit_vector_unittest.cc')
-rw-r--r-- | src/trace_processor/containers/bit_vector_unittest.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/trace_processor/containers/bit_vector_unittest.cc b/src/trace_processor/containers/bit_vector_unittest.cc index b8e7ebb39..4a78c2cd2 100644 --- a/src/trace_processor/containers/bit_vector_unittest.cc +++ b/src/trace_processor/containers/bit_vector_unittest.cc @@ -399,6 +399,18 @@ TEST(BitVectorUnittest, IterateSetBitsStartsCorrectly) { ASSERT_FALSE(it); } +TEST(BitVectorUnittest, Range) { + BitVector bv = + BitVector::Range(1, 1025, [](uint32_t t) { return t % 3 == 0; }); + + ASSERT_FALSE(bv.IsSet(0)); + for (uint32_t i = 1; i < 1025; ++i) { + ASSERT_EQ(i % 3 == 0, bv.IsSet(i)); + } + ASSERT_EQ(bv.size(), 1025u); + ASSERT_EQ(bv.GetNumBitsSet(), 341u); +} + TEST(BitVectorUnittest, QueryStressTest) { BitVector bv; std::vector<bool> bool_vec; |