Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 4e25c35

Browse files
committed
* sumprod: L2742, L2752, L2772, L2775, L2779, L2783
1 parent 8b3bb52 commit 4e25c35

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

Lib/test/test_math.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1299,6 +1299,12 @@ def testSumProd(self):
12991299
self.assertRaises(ValueError, sumprod, [10, 20], [30])
13001300
self.assertRaises(ValueError, sumprod, [10], [20, 30])
13011301

1302+
# Overflows
1303+
self.assertEqual(sumprod([10**20], [1]), 10**20)
1304+
self.assertEqual(sumprod([1], [10**20]), 10**20)
1305+
self.assertEqual(sumprod([10**10], [10**10]), 10**20)
1306+
self.assertEqual(sumprod([10**7]*10**5, [10**7]*10**5), 10**19)
1307+
13021308
# Error in iterator
13031309
def raise_after(n):
13041310
for i in range(n):
@@ -1309,6 +1315,11 @@ def raise_after(n):
13091315
with self.assertRaises(RuntimeError):
13101316
sumprod(raise_after(5), range(10))
13111317

1318+
from test.test_iter import BasicIterClass
1319+
1320+
self.assertEqual(sumprod(BasicIterClass(1), [1]), 0)
1321+
self.assertEqual(sumprod([1], BasicIterClass(1)), 0)
1322+
13121323
# Error in multiplication
13131324
class BadMultiply:
13141325
def __mul__(self, other):

0 commit comments

Comments
 (0)