aboutsummaryrefslogtreecommitdiffstats
path: root/tests/samplebinding/virtualmethods_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/samplebinding/virtualmethods_test.py')
-rw-r--r--tests/samplebinding/virtualmethods_test.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/tests/samplebinding/virtualmethods_test.py b/tests/samplebinding/virtualmethods_test.py
index 73490eb84..f2895af64 100644
--- a/tests/samplebinding/virtualmethods_test.py
+++ b/tests/samplebinding/virtualmethods_test.py
@@ -44,9 +44,13 @@ class ExtendedVirtualMethods(VirtualMethods):
return VirtualMethods.virtualMethod0(self, pt, val, cpx, b) * -1.0
def strListToStdList(self, arg):
- # returnning wrong type for test purporses.
+ # returning wrong type for test purposes.
return True
+ def recursionOnModifiedVirtual(self, arg):
+ # check if recursion is caused by injected code that calls C++.
+ return VirtualMethods.recursionOnModifiedVirtual(self, arg) + 10
+
class ExtendedVirtualDaughter(VirtualDaughter):
def __init__(self, name):
VirtualDaughter.__init__(self, name)
@@ -86,6 +90,11 @@ class VirtualMethodsTest(unittest.TestCase):
result1 = evm.callVirtualMethod0(pt, val, cpx, b)
self.assertEqual(result0 * -1.0, result1)
+ def testRecursionOnModifiedVirtual(self):
+ evm = ExtendedVirtualMethods()
+ self.assertEqual(evm.recursionOnModifiedVirtual(''), 10)
+ self.assertEqual(evm.callRecursionOnModifiedVirtual(''), 10)
+
def testReimplementedVirtualMethodInheritedFromGrandParent(self):
'''Test Python override of a virtual method inherited from a grand parent.'''
original_name = 'Foo'