Wrapped = utilitytypes.proxyClass(''.__class__, 'Wrapped', dataAttrName='_data', makeDefaultInit=True) self.assertEqual(Wrapped('Fun times were had by all')[3:7], 'Fun times were had by all'[3:7]) def test_unboundMethod(self): """ We should be able to do MyProxyClass.wrappedMethod(myProxyClassInst) """ Wrapped = utilitytypes.proxyClass(self.MyClass, 'Wrapped', dataAttrName='_data', makeDefaultInit=True) wrapInst = Wrapped('bar') wrappedResult = Wrapped.instMeth(wrapInst) myClassResult = self.MyClass('bar').instMeth() self.assertEqual(wrappedResult[0].__class__, myClassResult[0].__class__) self.assertEqual(wrappedResult[1], myClassResult[1]) def test_unboundMethodDescriptor(self): """ Some built-in types have fun things called method descriptors... ...they're like methods, but not! """ Wrapped = utilitytypes.proxyClass(''.__class__, 'Wrapped', dataAttrName='_data', makeDefaultInit=True) theString = 'Fun times were had by all!' wrapInst = Wrapped(theString) self.assertEqual(Wrapped.__len__(wrapInst), len(theString)) setupUnittestModule(__name__)
def test_unboundMethod(self): """ We should be able to do MyProxyClass.wrappedMethod(myProxyClassInst) """ Wrapped = utilitytypes.proxyClass(self.MyClass, 'Wrapped', dataAttrName='_data', makeDefaultInit=True) wrapInst = Wrapped('bar') wrappedResult = Wrapped.instMeth(wrapInst) myClassResult = self.MyClass('bar').instMeth() self.assertEqual(wrappedResult[0].__class__, myClassResult[0].__class__) self.assertEqual(wrappedResult[1], myClassResult[1]) def test_unboundMethodDescriptor(self): """ Some built-in types have fun things called method descriptors... ...they're like methods, but not! """ Wrapped = utilitytypes.proxyClass(''.__class__, 'Wrapped', dataAttrName='_data', makeDefaultInit=True) theString = 'Fun times were had by all!' wrapInst = Wrapped(theString) self.assertEqual(Wrapped.__len__(wrapInst), len(theString)) setupUnittestModule(__name__)