diff options
author | Marcelo Lira <marcelo.lira@openbossa.org> | 2011-01-18 18:20:00 -0300 |
---|---|---|
committer | Renato Araujo Oliveira Filho <renato.filho@openbossa.org> | 2011-01-19 11:31:09 -0300 |
commit | 3483a54e6b84210e101d905b55d00858070ab62d (patch) | |
tree | d4f424db5fc7be944d411e5378b24137e400556e /tests/samplebinding/protected_test.py | |
parent | cde05a92336a9f5fee1d8d1f591c89dd1ee70328 (diff) | |
download | shiboken-3483a54e6b84210e101d905b55d00858070ab62d.tar.gz shiboken-3483a54e6b84210e101d905b55d00858070ab62d.tar.xz shiboken-3483a54e6b84210e101d905b55d00858070ab62d.zip |
Added more test cases for protected attributes.
The tests are meant to be useful when compiled without the protected
hack or on the win32 platform.
Reviewed by Hugo Parente <hugo.lima@openbossa.org>
Reviewed by Luciano Wolf <luciano.wolf@openbossa.org>
Diffstat (limited to 'tests/samplebinding/protected_test.py')
-rw-r--r-- | tests/samplebinding/protected_test.py | 44 |
1 files changed, 38 insertions, 6 deletions
diff --git a/tests/samplebinding/protected_test.py b/tests/samplebinding/protected_test.py index e9d8b81e..8ebc99f1 100644 --- a/tests/samplebinding/protected_test.py +++ b/tests/samplebinding/protected_test.py @@ -27,14 +27,13 @@ '''Test cases for protected methods.''' import unittest -import sys from sample import cacheSize from sample import ProtectedNonPolymorphic, ProtectedVirtualDestructor from sample import ProtectedPolymorphic, ProtectedPolymorphicDaughter, ProtectedPolymorphicGrandDaughter from sample import ProtectedProperty, ProtectedEnumClass from sample import PrivateDtor -from sample import Point +from sample import Event, ObjectType, Point class ExtendedProtectedPolymorphic(ProtectedPolymorphic): def __init__(self, name): @@ -266,15 +265,48 @@ class ProtectedEnumTest(unittest.TestCase): class ProtectedPropertyTest(unittest.TestCase): '''Test cases for a class with a protected property (or field in C++).''' + def setUp(self): + self.obj = ProtectedProperty() + def tearDown(self): + del self.obj self.assertEqual(cacheSize(), 0) def testProtectedProperty(self): - '''Writes and reads a protected property.''' - obj = ProtectedProperty() + '''Writes and reads a protected integer property.''' + self.obj.protectedProperty = 3 + self.assertEqual(self.obj.protectedProperty, 3) + + def testProtectedEnumProperty(self): + '''Writes and reads a protected enum property.''' + self.obj.protectedEnumProperty = Event.SOME_EVENT + self.assertEqual(self.obj.protectedEnumProperty, Event.SOME_EVENT) + + def testProtectedValueTypeProperty(self): + '''Writes and reads a protected value type property.''' + point = Point(12, 34) + self.obj.protectedValueTypeProperty = point + self.assertEqual(self.obj.protectedValueTypeProperty, point) + self.assertFalse(self.obj.protectedValueTypeProperty is point) + pointProperty = self.obj.protectedValueTypeProperty + self.assertFalse(self.obj.protectedValueTypeProperty is pointProperty) + + def testProtectedValueTypePointerProperty(self): + '''Writes and reads a protected value type pointer property.''' + pt1 = Point(12, 34) + pt2 = Point(12, 34) + self.obj.protectedValueTypePointerProperty = pt1 + self.assertEqual(self.obj.protectedValueTypePointerProperty, pt1) + self.assertEqual(self.obj.protectedValueTypePointerProperty, pt2) + self.assert_(self.obj.protectedValueTypePointerProperty is pt1) + self.assertFalse(self.obj.protectedValueTypePointerProperty is pt2) + + def testProtectedObjectTypeProperty(self): + '''Writes and reads a protected object type property.''' + obj = ObjectType() + self.obj.protectedObjectTypeProperty = obj + self.assertEqual(self.obj.protectedObjectTypeProperty, obj) - obj.protectedProperty = 3 - self.assertEqual(obj.protectedProperty, 3) class PrivateDtorProtectedMethodTest(unittest.TestCase): '''Test cases for classes with private destructors and protected methods.''' |