def testReimplementedProtectedCall(self): '''Calls a reimplemented virtual protected method.''' original_name = 'Poly' p = ExtendedProtectedPolymorphic(original_name) name = p.callProtectedName() self.assertTrue(p.protectedName_called) self.assertEqual(p.protectedName(), name) self.assertEqual(ProtectedPolymorphic.protectedName(p), original_name)
def testReimplementedProtectedCall(self): '''Calls a reimplemented virtual protected method.''' original_name = 'Poly' p = ExtendedProtectedPolymorphic(original_name) name = p.callProtectedName() self.assert_(p.protectedName_called) self.assertEqual(p.protectedName(), name) self.assertEqual(ProtectedPolymorphic.protectedName(p), original_name)
def protectedName(self): self.protectedName_called = True self._name = 'Extended' + ProtectedPolymorphic.protectedName(self) return self._name
def __init__(self, name): ProtectedPolymorphic.__init__(self, name) self.protectedName_called = False
def testProtectedCallWithInstanceCreatedOnCpp(self): '''Calls a virtual protected method on an instance created in C++.''' p = ProtectedPolymorphic.create() self.assertEqual(p.publicName(), p.protectedName()) self.assertEqual(p.callProtectedName(), p.protectedName())