From a9636d7481facd786a236d5624110de9fd5fdd6c Mon Sep 17 00:00:00 2001 From: Marcelo Lira Date: Thu, 10 Feb 2011 10:55:13 -0300 Subject: Added test for overload decision situation involving inheritance. --- tests/samplebinding/decisor_test.py | 11 ++++++++++- tests/samplebinding/typesystem_sample.xml | 1 + 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'tests/samplebinding') 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() diff --git a/tests/samplebinding/typesystem_sample.xml b/tests/samplebinding/typesystem_sample.xml index b23e7f6db..b5ffb5703 100644 --- a/tests/samplebinding/typesystem_sample.xml +++ b/tests/samplebinding/typesystem_sample.xml @@ -259,6 +259,7 @@ + -- cgit v1.2.3