def test_child(self): bibo = object() vc = ValueCache() vc['bibo'] = bibo child_vc = vc.child('bibo') self.assertIsInstance(child_vc, ValueCache) self.assertIn('bibo', vc) self.assertIs(vc['bibo'], bibo) self.assertIn('bibo._child', vc) self.assertIs(vc['bibo._child'], child_vc) self.assertIsNot(child_vc, vc)
def test_close_with_child(self): bibo1 = ValueCacheTest.ClosableBibo() bibo2 = ValueCacheTest.ClosableBibo() bibo3 = ValueCacheTest.ClosableBibo() vc = ValueCache() vc['bibo1'] = bibo1 vc['bibo2'] = bibo2 bibo2_child = vc.child('bibo2') bibo2_child['bibo3'] = bibo3 self.assertFalse(bibo1.closed) self.assertFalse(bibo2.closed) self.assertFalse(bibo3.closed) vc.close() self.assertTrue(bibo1.closed) self.assertTrue(bibo2.closed) self.assertTrue(bibo3.closed)
def test_rename_key(self): bibo = object() vc = ValueCache() vc['bibo'] = bibo bibo_id = vc.get_id('bibo') bibo_child = vc.child('bibo') vc.rename_key('bibo', 'bert') self.assertNotIn('bibo', vc) self.assertNotIn('bibo._child', vc) self.assertIn('bert', vc) self.assertIs(vc['bert'], bibo) self.assertIn('bert._child', vc) self.assertIs(vc['bert._child'], bibo_child) self.assertEqual(vc.get_id('bert'), bibo_id)