def test_irange(): values = sorted(range(100), key=modulo) for load in range(5, 16): slt = SortedKeyList(range(100), key=modulo) slt._reset(load) for start in range(10): for end in range(start, 10): temp = list(slt.irange(start, end)) assert temp == values[(start * 10):((end + 1) * 10)] temp = list(slt.irange(start, end, reverse=True)) assert temp == values[(start * 10):((end + 1) * 10)][::-1] for start in range(10): for end in range(start, 10): temp = list(slt.irange(start, end, inclusive=(True, False))) assert temp == values[(start * 10):(end * 10)] for start in range(10): for end in range(start, 10): temp = list(slt.irange(start, end, (False, True))) assert temp == values[((start + 1) * 10):((end + 1) * 10)] for start in range(10): for end in range(start, 10): temp = list(slt.irange(start, end, inclusive=(False, False))) assert temp == values[((start + 1) * 10):(end * 10)] for start in range(10): temp = list(slt.irange(minimum=start)) assert temp == values[(start * 10):] for end in range(10): temp = list(slt.irange(maximum=end)) assert temp == values[:(end + 1) * 10]
def test_irange(): slt = SortedKeyList(key=negate) slt._reset(7) assert [] == list(slt.irange()) values = list(range(53)) slt.update(values) for start in range(53): for end in range(start, 53): assert list(slt.irange(end, start)) == values[start:(end + 1)][::-1] assert list(slt.irange(end, start, reverse=True)) == values[start:(end + 1)] for start in range(53): for end in range(start, 53): assert list(slt.irange( end, start, (True, False))) == values[(start + 1):(end + 1)][::-1] for start in range(53): for end in range(start, 53): assert list(slt.irange(end, start, (False, True))) == values[start:end][::-1] for start in range(53): for end in range(start, 53): assert list(slt.irange( end, start, (False, False))) == values[(start + 1):end][::-1] for start in range(53): assert list(slt.irange(start)) == values[:(start + 1)][::-1] for end in range(53): assert list(slt.irange(None, end, (True, False))) == values[(end + 1):][::-1] assert list(slt.irange(inclusive=(False, False))) == values[::-1] assert list(slt.irange(-1)) == [] assert list(slt.irange(None, -1, (True, False))) == values[::-1]
def test_irange(): slt = SortedKeyList(key=negate) slt._reset(7) assert [] == list(slt.irange()) values = list(range(53)) slt.update(values) for start in range(53): for end in range(start, 53): assert list(slt.irange(end, start)) == values[start:(end + 1)][::-1] assert list(slt.irange(end, start, reverse=True)) == values[start:(end + 1)] for start in range(53): for end in range(start, 53): assert list(slt.irange(end, start, (True, False))) == values[(start + 1):(end + 1)][::-1] for start in range(53): for end in range(start, 53): assert list(slt.irange(end, start, (False, True))) == values[start:end][::-1] for start in range(53): for end in range(start, 53): assert list(slt.irange(end, start, (False, False))) == values[(start + 1):end][::-1] for start in range(53): assert list(slt.irange(start)) == values[:(start + 1)][::-1] for end in range(53): assert list(slt.irange(None, end, (True, False))) == values[(end + 1):][::-1] assert list(slt.irange(inclusive=(False, False))) == values[::-1] assert list(slt.irange(-1)) == [] assert list(slt.irange(None, -1, (True, False))) == values[::-1]