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)