summaryrefslogtreecommitdiff
path: root/tests/test_girepository.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_girepository.py')
-rw-r--r--tests/test_girepository.py93
1 files changed, 31 insertions, 62 deletions
diff --git a/tests/test_girepository.py b/tests/test_girepository.py
index 81748819..3b59f0ca 100644
--- a/tests/test_girepository.py
+++ b/tests/test_girepository.py
@@ -30,13 +30,6 @@ utf8_nonconst = 'nonconst \xe2\x99\xa5 utf8'
test_sequence = ('1', '2', '3')
test_dict = {'foo': 'bar', 'baz': 'bat', 'qux': 'quux'}
-def createStructA():
- a = Everything.TestStructA()
- a.some_int = 3
- a.some_int8 = 1
- a.some_double = 4.15
- a.some_enum= Everything.TestEnum.VALUE3
- return a
class SignalHandler:
def __init__(self):
@@ -545,7 +538,19 @@ class TestGIEverything(unittest.TestCase):
# Structures
def testStructA(self):
- a = createStructA()
+ # Test inheritance.
+ self.assertTrue(issubclass(Everything.TestStructA, gobject.GBoxed))
+
+ # Test instanciation.
+ a = Everything.TestStructA()
+ self.assertTrue(isinstance(a, Everything.TestStructA))
+
+ # Test fields.
+ a.some_int = 3
+ a.some_int8 = 1
+ a.some_double = 4.15
+ a.some_enum= Everything.TestEnum.VALUE3
+
self.assertEquals(a.some_int, 3)
self.assertEquals(a.some_int8, 1)
self.assertEquals(a.some_double, 4.15)
@@ -555,74 +560,38 @@ class TestGIEverything(unittest.TestCase):
self.assertRaises(ValueError, setattr, a, 'some_int8', INT8_MIN-1)
self.assertRaises(ValueError, setattr, a, 'some_int8', INT8_MAX+1)
+ # Test method call and marshalling.
a_out = Everything.TestStructA()
a.clone(a_out)
- self.assertEquals(a, a_out)
+
+ self.assertEquals(a.some_int, a_out.some_int)
+ self.assertEquals(a.some_int8, a_out.some_int8)
+ self.assertEquals(a.some_double, a_out.some_double)
+ self.assertEquals(a.some_enum, a_out.some_enum)
# Test instance checking by passing a wrong instance.
self.assertRaises(TypeError, Everything.TestStructA.clone, 'a', a_out)
def testStructB(self):
b = Everything.TestStructB()
- b.some_int8 = 3
- a = createStructA()
+ a = Everything.TestStructA()
+
+ # Test nested structures.
b.nested_a = a
- self.assertEquals(a, b.nested_a)
+ a_out = b.nested_a
+
+ self.assertTrue(isinstance(b.nested_a, Everything.TestStructA))
+ self.assertEquals(a.some_int, a_out.some_int)
+ self.assertEquals(a.some_int8, a_out.some_int8)
+ self.assertEquals(a.some_double, a_out.some_double)
+ self.assertEquals(a.some_enum, a_out.some_enum)
# Test assignment checking.
self.assertRaises(TypeError, setattr, b, 'nested_a', 'a')
self.assertRaises(TypeError, setattr, b, 'nested_a', Everything.TestStructB())
- b_out = Everything.TestStructB()
- b.clone(b_out)
- self.assertEquals(b, b_out)
-
-
-# Plain-old-data boxed types
-
- def testSimpleBoxedA(self):
- a = Everything.TestSimpleBoxedA()
- a.some_int = 42
- a.some_int8 = 7
- a.some_double = 3.14
- a.some_enum = Everything.TestEnum.VALUE3
-
- self.assertEquals(42, a.some_int)
- self.assertEquals(7, a.some_int8)
- self.assertAlmostEquals(3.14, a.some_double)
- self.assertEquals(Everything.TestEnum.VALUE3, a.some_enum)
-
- self.assertRaises(TypeError, setattr, a, 'some_int', 'a')
- self.assertRaises(ValueError, setattr, a, 'some_int8', INT8_MIN-1)
- self.assertRaises(ValueError, setattr, a, 'some_int8', INT8_MAX+1)
-
- a_out = a.copy()
- self.assertTrue(a.equals(a_out))
- self.assertEquals(a, a_out)
-
- # Test instance checking by passing a wrong instance.
- self.assertRaises(TypeError, Everything.TestSimpleBoxedA.copy, 'a')
- self.assertRaises(TypeError, Everything.TestSimpleBoxedA.copy, gobject.GObject())
-
- # Test boxed as return value.
- a_const = Everything.test_simple_boxed_a_const_return()
- self.assertEquals(5, a_const.some_int)
- self.assertEquals(6, a_const.some_int8)
- self.assertAlmostEquals(7.0, a_const.some_double)
-
- def testSimpleBoxedB(self):
- a_const = Everything.test_simple_boxed_a_const_return()
-
- b = Everything.TestSimpleBoxedB()
- b.some_int = 42
- b.nested_a = a_const.copy()
-
- self.assertEquals(a_const, b.nested_a)
-
- self.assertRaises(TypeError, setattr, b, 'nested_a', 'a')
-
- b_out = b.copy()
- self.assertEquals(b, b_out)
+ def testStructC(self):
+ self.assertRaises(TypeError, Everything.TestStructC)
# GObject