Пример #1
0
 def testClassMethodCallable(self): #{{{
     '''Initializing with a class method callable sets weakref on class and stores method's internal function'''
     A = DummyClass
     w = CallableWrapper(A.DummyMethod)
     self.assert_(w._object is not None)
     self.assert_(isinstance(w._object, cref))
     self.assert_(w._object() is A)
     self.assert_(w._function is A.DummyMethod.im_func)
Пример #2
0
 def testClassMethod(self): #{{{
     '''Class method gets class soft reference and function hard reference'''
     class _(object): #{{{
         def me(self): #{{{
             pass
         # End def #}}}
     # End class #}}}
     cw = CallableWrapper(_.me)
     self.assertTrue(cw._object)
     self.assertTrue(isinstance(cw._object, cref))
     self.assertEqual(cw._object(), _)
     self.assertEqual(cw._function, _.me.im_func)
     self.assertEqual(cw._methodtype, METHODTYPE_CLASS)
Пример #3
0
 def testInstanceMethod(self): #{{{
     '''Instance method gets instance soft reference and function hard reference'''
     class _(object): #{{{
         def me(self): #{{{
             pass
         # End def #}}}
     # End class #}}}
     t = _()
     cw = CallableWrapper(t.me)
     self.assertTrue(cw._object)
     self.assertTrue(isinstance(cw._object, cref))
     self.assertEqual(cw._object(), t)
     self.assertEqual(cw._function, _.me.im_func)
     self.assertEqual(cw._function, t.me.im_func)
     self.assertEqual(cw._methodtype, METHODTYPE_INSTANCE)