diff options
author | Marcelo Lira <marcelo.lira@openbossa.org> | 2010-02-09 12:06:54 -0300 |
---|---|---|
committer | Marcelo Lira <marcelo.lira@openbossa.org> | 2010-02-09 18:25:42 -0300 |
commit | 586cd6b6cf67e9c186d2c42d076cbf99f1836ba4 (patch) | |
tree | c21b9a884f4938f3a4e5708b05158c64cd76d662 /tests/samplebinding/injectcode_test.py | |
parent | df7a5518466ce74ca3023b61ce1be21592f97252 (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-x | tests/samplebinding/injectcode_test.py | 21 |
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() |