diff options
Diffstat (limited to 'tests/samplebinding/decisor_test.py')
-rw-r--r-- | tests/samplebinding/decisor_test.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/tests/samplebinding/decisor_test.py b/tests/samplebinding/decisor_test.py index 458298c0c..cb442cd96 100644 --- a/tests/samplebinding/decisor_test.py +++ b/tests/samplebinding/decisor_test.py @@ -28,7 +28,7 @@ import unittest -from sample import SampleNamespace, Point +from sample import SampleNamespace, Point, ObjectType, ObjectModel class DecisorTest(unittest.TestCase): '''Test cases for the method overload decisor.''' @@ -46,6 +46,15 @@ class DecisorTest(unittest.TestCase): pt = Point() self.assertRaises(TypeError, SampleNamespace.forceDecisorSideB, 1, pt) + def testDecideCallWithInheritance(self): + '''Call methods overloads that receive parent and inheritor classes' instances.''' + objecttype = ObjectType() + objectmodel = ObjectModel() + self.assertEqual(ObjectModel.receivesObjectTypeFamily(objecttype), ObjectModel.ObjectTypeCalled) + self.assertNotEqual(ObjectModel.receivesObjectTypeFamily(objecttype), ObjectModel.ObjectModelCalled) + self.assertEqual(ObjectModel.receivesObjectTypeFamily(objectmodel), ObjectModel.ObjectModelCalled) + self.assertNotEqual(ObjectModel.receivesObjectTypeFamily(objectmodel), ObjectModel.ObjectTypeCalled) + if __name__ == '__main__': unittest.main() |