diff options
Diffstat (limited to 'Lib/test/test_complex.py')
| -rw-r--r-- | Lib/test/test_complex.py | 14 | 
1 files changed, 14 insertions, 0 deletions
| diff --git a/Lib/test/test_complex.py b/Lib/test/test_complex.py index 403ee3b..c249ca7 100644 --- a/Lib/test/test_complex.py +++ b/Lib/test/test_complex.py @@ -1,5 +1,7 @@  import unittest  from test import support +from test.test_grammar import (VALID_UNDERSCORE_LITERALS, +                               INVALID_UNDERSCORE_LITERALS)  from random import random  from math import atan2, isnan, copysign @@ -385,6 +387,18 @@ class ComplexTest(unittest.TestCase):          self.assertAlmostEqual(complex(complex1(1j)), 2j)          self.assertRaises(TypeError, complex, complex2(1j)) +    def test_underscores(self): +        # check underscores +        for lit in VALID_UNDERSCORE_LITERALS: +            if not any(ch in lit for ch in 'xXoObB'): +                self.assertEqual(complex(lit), eval(lit)) +                self.assertEqual(complex(lit), complex(lit.replace('_', ''))) +        for lit in INVALID_UNDERSCORE_LITERALS: +            if lit in ('0_7', '09_99'):  # octals are not recognized here +                continue +            if not any(ch in lit for ch in 'xXoObB'): +                self.assertRaises(ValueError, complex, lit) +      def test_hash(self):          for x in range(-30, 30):              self.assertEqual(hash(x), hash(complex(x, 0))) | 
