def test_stress(repeat=1000): sdict = SortedDict((val, -val) for val in range(1000)) for rpt in range(repeat): action = random.choice(actions) action(sdict) try: sdict._check() except AssertionError: print(action) raise start_len = len(sdict) while len(sdict) < 500: key = random.randrange(0, 2000) sdict[key] = -key while len(sdict) > 2000: key = random.randrange(0, 2000) if key in sdict: del sdict[key] if start_len != len(sdict): sdict._check()
def test_setitem(): temp = SortedDict() for pos, key in enumerate(string.ascii_lowercase): temp[key] = pos temp._check() assert len(temp) == 26 for pos, key in enumerate(string.ascii_lowercase): temp[key] = pos temp._check() assert len(temp) == 26
def test_init(): sdict = SortedDict() sdict._check() sdict = SortedDict(load=17) sdict._check() sdict = SortedDict((val, -val) for val in range(10000)) sdict._check() assert all(key == -val for key, val in sdict.iteritems()) sdict.clear() sdict._check() assert len(sdict) == 0 sdict = SortedDict.fromkeys(range(1000), None) assert all(sdict[key] == None for key in range(1000))
def test_init_args(): temp = SortedDict([('a', 1), ('b', 2)]) assert len(temp) == 2 assert temp['a'] == 1 assert temp['b'] == 2 temp._check()
def test_init(): temp = SortedDict() temp._check()
def test_delitem(): mapping = [(val, pos) for pos, val in enumerate(string.ascii_lowercase)] temp = SortedDict(mapping) del temp['a'] temp._check()
def test_init_kwargs(): temp = SortedDict(a=1, b=2) assert len(temp) == 2 assert temp['a'] == 1 assert temp['b'] == 2 temp._check()
def test_init_key(): temp = SortedDict(negate) assert temp.key == negate temp._check()
def test_init(): temp = SortedDict() assert temp.key is None temp._check()