def test_bisect_right(): slt = SortedList() assert slt.bisect_right(10) == 0 slt = SortedList(range(100)) slt._reset(17) slt.update(range(100)) slt._check() assert slt.bisect_right(10) == 22 assert slt.bisect_right(200) == 200
def test_bisect_left(): slt = SortedList() assert slt.bisect_left(0) == 0 slt = SortedList(range(100)) slt._reset(17) slt.update(range(100)) slt._check() assert slt.bisect_left(50) == 100 assert slt.bisect_left(200) == 200
def test_bisect_right(): slt = SortedList() assert slt.bisect_right(10) == 0 slt = SortedList(range(100)) slt._reset(17) slt.update(range(100)) slt._check() assert slt.bisect_right(10) == 22 assert slt.bisect_right(200) == 200
def test_bisect_left(): slt = SortedList() assert slt.bisect_left(0) == 0 slt = SortedList(range(100)) slt._reset(17) slt.update(range(100)) slt._check() assert slt.bisect_left(50) == 100 assert slt.bisect_left(200) == 200
def test_delete(): slt = SortedList(range(20)) slt._reset(4) slt._check() for val in range(20): slt.remove(val) slt._check() assert len(slt) == 0 assert slt._maxes == [] assert slt._lists == []
def test_delete(): slt = SortedList(range(20)) slt._reset(4) slt._check() for val in range(20): slt.remove(val) slt._check() assert len(slt) == 0 assert slt._maxes == [] assert slt._lists == []
def test_pop(): slt = SortedList(range(10)) slt._reset(4) slt._check() assert slt.pop() == 9 slt._check() assert slt.pop(0) == 0 slt._check() assert slt.pop(-2) == 7 slt._check() assert slt.pop(4) == 5 slt._check()
def test_pop(): slt = SortedList(range(10)) slt._reset(4) slt._check() assert slt.pop() == 9 slt._check() assert slt.pop(0) == 0 slt._check() assert slt.pop(-2) == 7 slt._check() assert slt.pop(4) == 5 slt._check()
def test_contains(): slt = SortedList() assert 0 not in slt slt.update(range(10000)) for val in range(10000): assert val in slt assert 10000 not in slt slt._check()
def test_contains(): slt = SortedList() assert 0 not in slt slt.update(range(10000)) for val in range(10000): assert val in slt assert 10000 not in slt slt._check()
def test_remove(): slt = SortedList() assert slt.discard(0) == None assert len(slt) == 0 slt._check() slt = SortedList([1, 2, 2, 2, 3, 3, 5]) slt._reset(4) slt.remove(2) slt._check() assert all(tup[0] == tup[1] for tup in zip(slt, [1, 2, 2, 3, 3, 5]))
def test_remove(): slt = SortedList() assert slt.discard(0) == None assert len(slt) == 0 slt._check() slt = SortedList([1, 2, 2, 2, 3, 3, 5]) slt._reset(4) slt.remove(2) slt._check() assert all(tup[0] == tup[1] for tup in zip(slt, [1, 2, 2, 3, 3, 5]))
def test_count(): slt = SortedList() slt._reset(7) assert slt.count(0) == 0 for iii in range(100): for jjj in range(iii): slt.add(iii) slt._check() for iii in range(100): assert slt.count(iii) == iii assert slt.count(100) == 0
def test_delitem(): random.seed(0) slt = SortedList(range(100)) slt._reset(17) while len(slt) > 0: pos = random.randrange(len(slt)) del slt[pos] slt._check() slt = SortedList(range(100)) slt._reset(17) del slt[:] assert len(slt) == 0 slt._check()
def test_delitem(): random.seed(0) slt = SortedList(range(100)) slt._reset(17) while len(slt) > 0: pos = random.randrange(len(slt)) del slt[pos] slt._check() slt = SortedList(range(100)) slt._reset(17) del slt[:] assert len(slt) == 0 slt._check()
def test_count(): slt = SortedList() slt._reset(7) assert slt.count(0) == 0 for iii in range(100): for jjj in range(iii): slt.add(iii) slt._check() for iii in range(100): assert slt.count(iii) == iii assert slt.count(100) == 0
def test_new(): slt = SortedList(iter(range(1000)), key=modulo) assert slt == sorted(range(1000), key=modulo) slt._check() assert isinstance(slt, SortedList) assert isinstance(slt, SortedKeyList) assert type(slt) == SortedKeyList slt = SortedKeyList(iter(range(1000)), key=modulo) assert slt == sorted(range(1000), key=modulo) slt._check() assert isinstance(slt, SortedList) assert isinstance(slt, SortedKeyList) assert type(slt) == SortedKeyList
def test_new(): slt = SortedList(iter(range(1000)), key=modulo) assert slt == sorted(range(1000), key=modulo) slt._check() assert isinstance(slt, SortedList) assert isinstance(slt, SortedKeyList) assert type(slt) == SortedKeyList slt = SortedKeyList(iter(range(1000)), key=modulo) assert slt == sorted(range(1000), key=modulo) slt._check() assert isinstance(slt, SortedList) assert isinstance(slt, SortedKeyList) assert type(slt) == SortedKeyList
def test_add(): random.seed(0) slt = SortedList() for val in range(1000): slt.add(val) slt._check() slt = SortedList() for val in range(1000, 0, -1): slt.add(val) slt._check() slt = SortedList() for val in range(1000): slt.add(random.random()) slt._check()
def test_add(): random.seed(0) slt = SortedList() for val in range(1000): slt.add(val) slt._check() slt = SortedList() for val in range(1000, 0, -1): slt.add(val) slt._check() slt = SortedList() for val in range(1000): slt.add(random.random()) slt._check()
def test_update(): slt = SortedList() slt.update(range(1000)) assert len(slt) == 1000 slt._check() slt.update(range(100)) assert len(slt) == 1100 slt._check() slt.update(range(10000)) assert len(slt) == 11100 slt._check() values = sorted(chain(range(1000), range(100), range(10000))) assert all(tup[0] == tup[1] for tup in zip(slt, values))
def test_update(): slt = SortedList() slt.update(range(1000)) assert len(slt) == 1000 slt._check() slt.update(range(100)) assert len(slt) == 1100 slt._check() slt.update(range(10000)) assert len(slt) == 11100 slt._check() values = sorted(chain(range(1000), range(100), range(10000))) assert all(tup[0] == tup[1] for tup in zip(slt, values))
def test_init(): slt = SortedList() assert slt.key is None slt._check() slt = SortedList() slt._reset(10000) assert slt._load == 10000 slt._check() slt = SortedList(range(10000)) assert all(tup[0] == tup[1] for tup in zip(slt, range(10000))) slt.clear() assert slt._len == 0 assert slt._maxes == [] assert slt._lists == [] slt._check()
def test_init(): slt = SortedList() assert slt.key is None slt._check() slt = SortedList() slt._reset(10000) assert slt._load == 10000 slt._check() slt = SortedList(range(10000)) assert all(tup[0] == tup[1] for tup in zip(slt, range(10000))) slt.clear() assert slt._len == 0 assert slt._maxes == [] assert slt._lists == [] slt._check()
def test_check(): slt = SortedList(range(10)) slt._reset(4) slt._len = 5 with pytest.raises(AssertionError): slt._check()
def test_check(): slt = SortedList(range(10)) slt._reset(4) slt._len = 5 with pytest.raises(AssertionError): slt._check()
def test_build_index(): slt = SortedList([0]) slt._reset(4) slt._build_index() slt._check()
def test_build_index(): slt = SortedList([0]) slt._reset(4) slt._build_index() slt._check()