mirror of
https://github.com/python/cpython.git
synced 2025-10-07 07:31:46 +00:00
(cherry picked from commit e46fb86118
)
This commit is contained in:
parent
d1f566f6bd
commit
6fad4090ec
3 changed files with 27 additions and 5 deletions
|
@ -99,20 +99,24 @@ class RangeTest(unittest.TestCase):
|
|||
x = range(10**20+10, 10**20, 3)
|
||||
self.assertEqual(len(x), 0)
|
||||
self.assertEqual(len(list(x)), 0)
|
||||
self.assertFalse(x)
|
||||
|
||||
x = range(10**20, 10**20+10, -3)
|
||||
self.assertEqual(len(x), 0)
|
||||
self.assertEqual(len(list(x)), 0)
|
||||
self.assertFalse(x)
|
||||
|
||||
x = range(10**20+10, 10**20, -3)
|
||||
self.assertEqual(len(x), 4)
|
||||
self.assertEqual(len(list(x)), 4)
|
||||
self.assertTrue(x)
|
||||
|
||||
# Now test range() with longs
|
||||
self.assertEqual(list(range(-2**100)), [])
|
||||
self.assertEqual(list(range(0, -2**100)), [])
|
||||
self.assertEqual(list(range(0, 2**100, -1)), [])
|
||||
self.assertEqual(list(range(0, 2**100, -1)), [])
|
||||
for x in [range(-2**100),
|
||||
range(0, -2**100),
|
||||
range(0, 2**100, -1)]:
|
||||
self.assertEqual(list(x), [])
|
||||
self.assertFalse(x)
|
||||
|
||||
a = int(10 * sys.maxsize)
|
||||
b = int(100 * sys.maxsize)
|
||||
|
@ -153,6 +157,7 @@ class RangeTest(unittest.TestCase):
|
|||
step = x[1] - x[0]
|
||||
length = 1 + ((x[-1] - x[0]) // step)
|
||||
return length
|
||||
|
||||
a = -sys.maxsize
|
||||
b = sys.maxsize
|
||||
expected_len = b - a
|
||||
|
@ -160,6 +165,7 @@ class RangeTest(unittest.TestCase):
|
|||
self.assertIn(a, x)
|
||||
self.assertNotIn(b, x)
|
||||
self.assertRaises(OverflowError, len, x)
|
||||
self.assertTrue(x)
|
||||
self.assertEqual(_range_len(x), expected_len)
|
||||
self.assertEqual(x[0], a)
|
||||
idx = sys.maxsize+1
|
||||
|
@ -177,6 +183,7 @@ class RangeTest(unittest.TestCase):
|
|||
self.assertIn(a, x)
|
||||
self.assertNotIn(b, x)
|
||||
self.assertRaises(OverflowError, len, x)
|
||||
self.assertTrue(x)
|
||||
self.assertEqual(_range_len(x), expected_len)
|
||||
self.assertEqual(x[0], a)
|
||||
idx = sys.maxsize+1
|
||||
|
@ -195,6 +202,7 @@ class RangeTest(unittest.TestCase):
|
|||
self.assertIn(a, x)
|
||||
self.assertNotIn(b, x)
|
||||
self.assertRaises(OverflowError, len, x)
|
||||
self.assertTrue(x)
|
||||
self.assertEqual(_range_len(x), expected_len)
|
||||
self.assertEqual(x[0], a)
|
||||
idx = sys.maxsize+1
|
||||
|
@ -213,6 +221,7 @@ class RangeTest(unittest.TestCase):
|
|||
self.assertIn(a, x)
|
||||
self.assertNotIn(b, x)
|
||||
self.assertRaises(OverflowError, len, x)
|
||||
self.assertTrue(x)
|
||||
self.assertEqual(_range_len(x), expected_len)
|
||||
self.assertEqual(x[0], a)
|
||||
idx = sys.maxsize+1
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue