aboutsummaryrefslogtreecommitdiffstats
path: root/tests/samplebinding/decisor_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/samplebinding/decisor_test.py')
-rw-r--r--tests/samplebinding/decisor_test.py11
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()