def test_copy(): alpha = SortedList(range(100)) alpha._reset(7) beta = alpha.copy() alpha.add(100) assert len(alpha) == 101 assert len(beta) == 100
def test_getitem_slice(): random.seed(0) slt = SortedList() slt._reset(17) lst = list() for rpt in range(100): val = random.random() slt.add(val) lst.append(val) lst.sort() assert all(slt[start:] == lst[start:] for start in [-75, -25, 0, 25, 75]) assert all(slt[:stop] == lst[:stop] for stop in [-75, -25, 0, 25, 75]) assert all(slt[::step] == lst[::step] for step in [-5, -1, 1, 5]) assert all(slt[start:stop] == lst[start:stop] for start in [-75, -25, 0, 25, 75] for stop in [-75, -25, 0, 25, 75]) assert all(slt[:stop:step] == lst[:stop:step] for stop in [-75, -25, 0, 25, 75] for step in [-5, -1, 1, 5]) assert all(slt[start::step] == lst[start::step] for start in [-75, -25, 0, 25, 75] for step in [-5, -1, 1, 5]) assert all(slt[start:stop:step] == lst[start:stop:step] for start in [-75, -25, 0, 25, 75] for stop in [-75, -25, 0, 25, 75] for step in [-5, -1, 1, 5])
def test_copy_copy(): import copy alpha = SortedList(range(100)) alpha._reset(7) beta = copy.copy(alpha) alpha.add(100) assert len(alpha) == 101 assert len(beta) == 100
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_getitem(): random.seed(0) slt = SortedList() slt._reset(17) lst = list() for rpt in range(100): val = random.random() slt.add(val) lst.append(val) lst.sort() assert all(slt[idx] == lst[idx] for idx in range(100)) assert all(slt[idx - 99] == lst[idx - 99] for idx in range(100))
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_len(): slt = SortedList() for val in range(10000): slt.add(val) assert len(slt) == (val + 1)