diff options
author | Hugo Lima <hugo.lima@openbossa.org> | 2009-09-01 19:03:07 -0300 |
---|---|---|
committer | Hugo Lima <hugo.lima@openbossa.org> | 2009-09-01 19:03:07 -0300 |
commit | 5db89848578a416d2904317bc6cc361c3409af2c (patch) | |
tree | 806ddc4aa5a3a674e12c12770b6c863dee62f653 /tests/samplebinding/nondefaultctor_test.py | |
parent | 4d15d6c9527e078921d32ddcdbdec782e1d787f8 (diff) |
Added a python test to classes without default ctor
Diffstat (limited to 'tests/samplebinding/nondefaultctor_test.py')
-rwxr-xr-x | tests/samplebinding/nondefaultctor_test.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/samplebinding/nondefaultctor_test.py b/tests/samplebinding/nondefaultctor_test.py new file mode 100755 index 000000000..58a6442d8 --- /dev/null +++ b/tests/samplebinding/nondefaultctor_test.py @@ -0,0 +1,39 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +'''Test cases for ...''' + +import sys +import unittest + +from sample import NonDefaultCtor + +class DerivedNonDefaultCtor (NonDefaultCtor): + def returnMyselfVirtual(self): + return NonDefaultCtor(self.value()+1) + pass + +class NonDefaultCtorTest(unittest.TestCase): + + def testNonDefaultCtor(self): + '''Test if polymorphic function call decisor takes implicit conversions into account.''' + c = NonDefaultCtor(2) + # these functions returns NonDefaultCtor by value, so a PyObjecy is created every time + self.assertNotEqual(c.returnMyself(), c) + self.assertEqual(c.returnMyself().value(), 2) + self.assertNotEqual(c.returnMyself(3), c) + self.assertEqual(c.returnMyself(3).value(), 2) + self.assertNotEqual(c.returnMyself(4, c), c) + self.assertEqual(c.returnMyself(4, c).value(), 2) + + def testVirtuals(self): + c = DerivedNonDefaultCtor(3) + # these functions returns NonDefaultCtor by value, so a PyObjecy is created every time + self.assertNotEqual(c.returnMyselfVirtual(), c) + self.assertEqual(c.returnMyselfVirtual().value(), 4) + self.assertEqual(c.callReturnMyselfVirtual().value(), 4) + + +if __name__ == '__main__': + unittest.main() + |