Example #1
0
 def test_select_issue15(self):
     rb = RoaringBitmap(range(0x10000, 0x1ffff + 1))
     assert rb[0] == 0x10000
     rb.discard(0x10010)
     assert rb[0] == 0x10000
     rb = RoaringBitmap(range(0x10, 0xffff + 1))
     assert rb[0] == 0x10, rb.debuginfo(True)
     rb = RoaringBitmap(range(0x10010, 0x1ffff + 1))
     assert rb[0] == 0x10010, rb.debuginfo(True)
     lst = list(range(1, 0xccbb))
     lst.extend(range(0xcccc, 0xfffc))
     rb = RoaringBitmap(lst)
     for n in (0, 0xcccc, -1):
         assert lst[n] == rb[n], (n, lst[n], rb[n])
Example #2
0
def test_fixtures(single):
    for name, data in single:
        rb = RoaringBitmap(data)
        if name == 'many keys':
            assert len(rb._keys()) > 100
        elif name == 'empty':
            assert len(rb) == 0
        else:
            assert name[0].upper() in rb.debuginfo()
Example #3
0
 def test_subset(self, pair):
     for name, data1, data2 in pair:
         ref, ref2 = set(data1), set(data2)
         rb, rb2 = RoaringBitmap(data1), RoaringBitmap(data2)
         refans = ref <= ref2
         assert (set(rb) <= ref2) == refans, name
         assert (rb <= rb2) == refans, name
         k = len(data2) // 2
         ref, rb = set(data2[:k]), RoaringBitmap(data2[:k])
         refans = ref <= ref2
         assert (set(rb) <= ref2) == refans, name
         assert (ref <= set(rb2)) == refans, name
         assert (rb <= rb2) == refans, (name, rb.debuginfo())