mirror of
https://github.com/python/cpython.git
synced 2024-11-28 20:33:54 +08:00
Improve int test coverage (#104024)
Following discussion in https://discuss.python.org/t/bug-in-int-42/26360/5 This tests some of the things documented in https://github.com/python/cpython/pull/100436 Co-authored-by: Gregory P. Smith <greg@krypto.org>
This commit is contained in:
parent
74a2b79c62
commit
69bc86cb1a
@ -155,6 +155,8 @@ class IntTestCases(unittest.TestCase):
|
||||
self.assertEqual(int(' 0O123 ', 0), 83)
|
||||
self.assertEqual(int(' 0X123 ', 0), 291)
|
||||
self.assertEqual(int(' 0B100 ', 0), 4)
|
||||
with self.assertRaises(ValueError):
|
||||
int('010', 0)
|
||||
|
||||
# without base still base 10
|
||||
self.assertEqual(int('0123'), 123)
|
||||
@ -221,6 +223,24 @@ class IntTestCases(unittest.TestCase):
|
||||
self.assertEqual(int('2br45qc', 35), 4294967297)
|
||||
self.assertEqual(int('1z141z5', 36), 4294967297)
|
||||
|
||||
def test_invalid_signs(self):
|
||||
with self.assertRaises(ValueError):
|
||||
int('+')
|
||||
with self.assertRaises(ValueError):
|
||||
int('-')
|
||||
with self.assertRaises(ValueError):
|
||||
int('- 1')
|
||||
with self.assertRaises(ValueError):
|
||||
int('+ 1')
|
||||
with self.assertRaises(ValueError):
|
||||
int(' + 1 ')
|
||||
|
||||
def test_unicode(self):
|
||||
self.assertEqual(int("१२३४५६७८९०1234567890"), 12345678901234567890)
|
||||
self.assertEqual(int('١٢٣٤٥٦٧٨٩٠'), 1234567890)
|
||||
self.assertEqual(int("१२३४५६७८९०1234567890", 0), 12345678901234567890)
|
||||
self.assertEqual(int('١٢٣٤٥٦٧٨٩٠', 0), 1234567890)
|
||||
|
||||
def test_underscores(self):
|
||||
for lit in VALID_UNDERSCORE_LITERALS:
|
||||
if any(ch in lit for ch in '.eEjJ'):
|
||||
|
Loading…
Reference in New Issue
Block a user