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(0x10010, 0x1ffff + 1)) assert rb[0] == 0x10010 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])
def test_discard(self, single): for name, data in single: ref = set() rb = RoaringBitmap() for n in sorted(data): ref.add(n) rb.add(n) for n in sorted(data): ref.discard(n) rb.discard(n) rb._checkconsistency() assert len(ref) == 0, name assert len(rb) == 0, name assert rb == ref, name
def test_discard(self, single): for data in single: ref = set() rb = RoaringBitmap() for n in sorted(data): ref.add(n) rb.add(n) for n in sorted(data): ref.discard(n) rb.discard(n) assert len(ref) == 0 assert len(rb) == 0 assert set(ref) == set(rb) assert rb == ref