diff options
Diffstat (limited to 'tests/pysidetest/homonymoussignalandmethod_test.py')
-rw-r--r-- | tests/pysidetest/homonymoussignalandmethod_test.py | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/pysidetest/homonymoussignalandmethod_test.py b/tests/pysidetest/homonymoussignalandmethod_test.py new file mode 100644 index 000000000..4850c5bc3 --- /dev/null +++ b/tests/pysidetest/homonymoussignalandmethod_test.py @@ -0,0 +1,53 @@ +#!/usr/bin/python + +import unittest +from testbinding import TestObject + +'''Tests the behaviour of homonymous signals and slots.''' + +class HomonymousSignalAndMethodTest(unittest.TestCase): + + def setUp(self): + self.value = 123 + self.called = False + self.obj = TestObject(self.value) + + def tearDown(self): + del self.value + del self.called + del self.obj + + def testIdValueSignalEmission(self): + def callback(idValue): + self.assertEqual(idValue, self.value) + self.obj.idValue.connect(callback) + self.obj.emitIdValueSignal() + + def testStaticMethodDoubleSignalEmission(self): + def callback(): + self.called = True + self.obj.staticMethodDouble.connect(callback) + self.obj.emitStaticMethodDoubleSignal() + self.assert_(self.called) + + def testSignalNotCallable(self): + self.assertRaises(TypeError, self.obj.justASignal) + + def testCallingInstanceMethodWithArguments(self): + self.assertRaises(TypeError, TestObject.idValue, 1) + + def testCallingInstanceMethodWithoutArguments(self): + self.assertRaises(TypeError, TestObject.idValue) + + def testHomonymousSignalAndMethod(self): + self.assertEqual(self.obj.idValue(), self.value) + + def testHomonymousSignalAndStaticMethod(self): + self.assertEqual(TestObject.staticMethodDouble(3), 6) + + def testHomonymousSignalAndStaticMethodFromInstance(self): + self.assertEqual(self.obj.staticMethodDouble(4), 8) + +if __name__ == '__main__': + unittest.main() + |