aboutsummaryrefslogtreecommitdiffstats
path: root/tests/samplebinding/overflow_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/samplebinding/overflow_test.py')
-rw-r--r--tests/samplebinding/overflow_test.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/samplebinding/overflow_test.py b/tests/samplebinding/overflow_test.py
index 4529fe2..ea2dd37 100644
--- a/tests/samplebinding/overflow_test.py
+++ b/tests/samplebinding/overflow_test.py
@@ -41,6 +41,24 @@ class OverflowTest(unittest.TestCase):
val *= -1
self.assertRaises(OverflowError, doubleUnsignedInt, val)
+ def testLongLong(self):
+ '''C++ function receives an long long argument and raise OverflowError if the value is negative.'''
+ val = 100
+ self.assertEqual(doubleLongLong(val), 2 * val)
+ val = long(100)
+ self.assertEqual(doubleLongLong(val), 2 * val)
+ val = (2 << 64) + 1
+ self.assertRaises(OverflowError, doubleLongLong, val)
+
+ def testUnsignedLongLong(self):
+ '''C++ function receives an unsigned long long argument and raise OverflowError if the value is negative.'''
+ val = 100
+ self.assertEqual(doubleUnsignedLongLong(val), 2 * val)
+ val = long(100)
+ self.assertEqual(doubleUnsignedLongLong(val), 2 * val)
+ val *= -1
+ self.assertRaises(OverflowError, doubleUnsignedLongLong, val)
+
def testOverflow(self):
'''Calls function with unsigned int parameter using an overflowing value.'''
self.assertRaises(OverflowError, doubleUnsignedInt, 42415335332353253)