233
233
self.assertRefcount(2, k3)
235
235
self.assertRefcount(1, k3)
237
def test__resize(self):
238
obj = _module.StaticTupleInterner()
239
k1 = StaticTuple('foo')
240
k2 = StaticTuple('bar')
241
k3 = StaticTuple('baz')
246
self.assertFillState(2, 3, 0x3ff, obj)
247
self.assertEqual(1024, obj._resize(500))
248
self.assertFillState(2, 3, 0x3ff, obj)
249
self.assertEqual(4096, obj._resize(4095))
250
self.assertFillState(2, 2, 0xfff, obj)
251
self.assertIn(k1, obj)
252
self.assertNotIn(k2, obj)
253
self.assertIn(k3, obj)
255
self.assertIn(k2, obj)
257
self.assertEqual((591, '<dummy>'), obj._test_lookup(k2))
258
self.assertFillState(2, 3, 0xfff, obj)
259
self.assertEqual(2048, obj._resize(1024))
260
self.assertFillState(2, 2, 0x7ff, obj)
261
self.assertEqual((591, '<null>'), obj._test_lookup(k2))
263
def test_add_lots_of_items(self):
264
obj = _module.StaticTupleInterner()
265
chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890'
268
k = StaticTuple(i, j)
270
num = len(chars)*len(chars)
271
self.assertFillState(num, num, 0x1fff, obj)