aboutsummaryrefslogtreecommitdiffstats
path: root/tests/samplebinding/injectcode_test.py
diff options
context:
space:
mode:
authorMarcelo Lira <marcelo.lira@openbossa.org>2010-02-09 12:06:54 -0300
committerMarcelo Lira <marcelo.lira@openbossa.org>2010-02-09 18:25:42 -0300
commit586cd6b6cf67e9c186d2c42d076cbf99f1836ba4 (patch)
treec21b9a884f4938f3a4e5708b05158c64cd76d662 /tests/samplebinding/injectcode_test.py
parentdf7a5518466ce74ca3023b61ce1be21592f97252 (diff)
Adds tests for argument removal and type modification for virtual methods.
Reviewed by Lauro Moura <lauro.neto@openbossa.org>
Diffstat (limited to 'tests/samplebinding/injectcode_test.py')
-rwxr-xr-xtests/samplebinding/injectcode_test.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/samplebinding/injectcode_test.py b/tests/samplebinding/injectcode_test.py
index d328de16b..ffc8ff115 100755
--- a/tests/samplebinding/injectcode_test.py
+++ b/tests/samplebinding/injectcode_test.py
@@ -29,6 +29,13 @@
import unittest
from sample import InjectCode
+class MyInjectCode(InjectCode):
+ def __init__(self):
+ InjectCode.__init__(self)
+ self.multiplier = 2
+ def arrayMethod(self, values):
+ return self.multiplier * sum(values)
+
class InjectCodeTest(unittest.TestCase):
def testTypeNativeBeginning_TypeTargetBeginning(self):
@@ -68,5 +75,19 @@ class InjectCodeTest(unittest.TestCase):
result = ic.arrayMethod(values)
self.assertEqual(result, sum(values))
+ def testCallVirtualMethodWithArgumentRemovalAndArgumentTypeModification(self):
+ '''A virtual method has its first argument removed and the second modified.'''
+ ic = InjectCode()
+ values = (1, 2, 3, 4, 5)
+ result = ic.callArrayMethod(values)
+ self.assertEqual(result, sum(values))
+
+ def testCallReimplementedVirtualMethodWithArgumentRemovalAndArgumentTypeModification(self):
+ '''Calls a reimplemented virtual method that had its first argument removed and the second modified.'''
+ ic = MyInjectCode()
+ values = (1, 2, 3, 4, 5)
+ result = ic.callArrayMethod(values)
+ self.assertEqual(result, ic.multiplier * sum(values))
+
if __name__ == '__main__':
unittest.main()