def test_resize_reentrancy(self): d = SparseDict() class Key(int): resize = False def __hash__(self): if self.resize: d.resize(128) return int.__hash__(self) d[Key(0)] = 0 Key.resize = True self.assertRaises(RuntimeError, lambda: d.resize(64))
def test_string_rehash(self): d = dict(('\x00' * i, i) for i in xrange(100)) sd = SparseDict(d) sd.resize(200) self.assertEqual(d, sd)