@@ -1373,6 +1373,24 @@ def test_sum(self):
13731373
13741374 self .assertEqual (sum (range (10 ), 1000 ), 1045 )
13751375 self .assertEqual (sum (range (10 ), start = 1000 ), 1045 )
1376+ self .assertEqual (sum (range (10 ), 2 ** 31 - 5 ), 2 ** 31 + 40 )
1377+ self .assertEqual (sum (range (10 ), 2 ** 63 - 5 ), 2 ** 63 + 40 )
1378+
1379+ self .assertEqual (sum (i % 2 != 0 for i in range (10 )), 5 )
1380+ self .assertEqual (sum ((i % 2 != 0 for i in range (10 )), 2 ** 31 - 3 ),
1381+ 2 ** 31 + 2 )
1382+ self .assertEqual (sum ((i % 2 != 0 for i in range (10 )), 2 ** 63 - 3 ),
1383+ 2 ** 63 + 2 )
1384+ self .assertIs (sum ([], False ), False )
1385+
1386+ self .assertEqual (sum (i / 2 for i in range (10 )), 22.5 )
1387+ self .assertEqual (sum ((i / 2 for i in range (10 )), 1000 ), 1022.5 )
1388+ self .assertEqual (sum ((i / 2 for i in range (10 )), 1000.25 ), 1022.75 )
1389+ self .assertEqual (sum ([0.5 , 1 ]), 1.5 )
1390+ self .assertEqual (sum ([1 , 0.5 ]), 1.5 )
1391+ self .assertEqual (repr (sum ([- 0.0 ])), '0.0' )
1392+ self .assertEqual (repr (sum ([- 0.0 ], - 0.0 )), '-0.0' )
1393+ self .assertEqual (repr (sum ([], - 0.0 )), '-0.0' )
13761394
13771395 self .assertRaises (TypeError , sum )
13781396 self .assertRaises (TypeError , sum , 42 )
@@ -1384,6 +1402,9 @@ def test_sum(self):
13841402 self .assertRaises (TypeError , sum , [[1 ], [2 ], [3 ]])
13851403 self .assertRaises (TypeError , sum , [{2 :3 }])
13861404 self .assertRaises (TypeError , sum , [{2 :3 }]* 2 , {2 :3 })
1405+ self .assertRaises (TypeError , sum , [], '' )
1406+ self .assertRaises (TypeError , sum , [], b'' )
1407+ self .assertRaises (TypeError , sum , [], bytearray ())
13871408
13881409 class BadSeq :
13891410 def __getitem__ (self , index ):
0 commit comments