diff options
Diffstat (limited to 'tests/samplebinding/overflow_test.py')
-rw-r--r-- | tests/samplebinding/overflow_test.py | 18 |
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) |