def test_attr_target(self): o = Object() o.id = id(o) p = OP() with self.assertRaises(AttributeError): p.__target__ p.__target__ = o self.assertEqual(o, p.__target__) self.assertEqual(o.id, p.id) del p.__target__ with self.assertRaises(AttributeError): p.__target__ with self.assertRaises(AttributeError): self.assertEqual(None, p.id)
def test_attr(self): o = Object() o.attr = 1 p = OP(o) self.assertEqual(1, p.attr) o.attr = 2 self.assertEqual(2, p.attr) self.assertEqual(2, o.attr) p.attr = 3 self.assertEqual(3, p.attr) self.assertEqual(3, o.attr) del o.attr with self.assertRaises(AttributeError): p.attr with self.assertRaises(AttributeError): o.attr p.attr = 1 self.assertEqual(1, p.attr) self.assertEqual(1, o.attr) del p.attr with self.assertRaises(AttributeError): p.attr with self.assertRaises(AttributeError): o.attr