def test_stress(repeat=1000): slt = SortedKeyList((random.random() for rpt in range(1000))) for rpt in range(repeat): action = random.choice(actions) action(slt) slt._check() while len(slt) > 2000: # Shorten the sortedlist. This maintains the "jaggedness" # of the sublists which helps coverage. pos = random.randrange(len(slt._maxes)) del slt._maxes[pos] del slt._keys[pos] del slt._lists[pos] slt._len = sum(len(sublist) for sublist in slt._lists) slt._index = [] slt._check() slt._check() stress_update(slt) while len(slt) > 0: pos = random.randrange(len(slt)) del slt[pos] slt._check()
def test_check(): slt = SortedKeyList(range(10), key=modulo) slt._reset(4) slt._len = 5 with pytest.raises(AssertionError): slt._check()