def test_func(self): c = TestClass() o = c.method p1 = weakref.ref(o) p2 = weakmethod.ref(o) self.assertNotEqual(p1, p2) p3 = weakmethod.WeakMethod(o) self.assertNotEqual(p1, p3)
def test_ref(self): m = self.c.method r = weakmethod.WeakMethod(m) weakref.ref(r)
def test_repr(self): m = self.c.method r = weakmethod.WeakMethod(m) self.assertEqual(repr(m), repr(r()))
def test_eq(self): m = self.c.method r = weakmethod.WeakMethod(m) self.assertEqual(m, r())
def test_strong(self): r = weakmethod.WeakMethod(self.c.method) self.assertEqual(r(), self.c.method) del self.c self.assertEqual(r(), None)
def test_weak(self): r = weakmethod.WeakMethod(TestClass().method) self.assertEqual(r(), None)
def test_create(self): r = weakmethod.WeakMethod(TestClass().method)