@@ -1783,16 +1783,22 @@ def test_prod(self):
1783
1783
self .assertRaises (TypeError , prod )
1784
1784
self .assertRaises (TypeError , prod , 42 )
1785
1785
self .assertRaises (TypeError , prod , ['a' , 'b' , 'c' ])
1786
- self .assertRaises (TypeError , prod , ['a' , 'b' , 'c' ], '' )
1787
- self .assertRaises (TypeError , prod , [b'a' , b'c' ], b'' )
1786
+ self .assertRaises (TypeError , prod , ['a' , 'b' , 'c' ], start = '' )
1787
+ self .assertRaises (TypeError , prod , [b'a' , b'c' ], start = b'' )
1788
1788
values = [bytearray (b'a' ), bytearray (b'b' )]
1789
- self .assertRaises (TypeError , prod , values , bytearray (b'' ))
1789
+ self .assertRaises (TypeError , prod , values , start = bytearray (b'' ))
1790
1790
self .assertRaises (TypeError , prod , [[1 ], [2 ], [3 ]])
1791
1791
self .assertRaises (TypeError , prod , [{2 :3 }])
1792
- self .assertRaises (TypeError , prod , [{2 :3 }]* 2 , {2 :3 })
1793
- self .assertRaises (TypeError , prod , [[1 ], [2 ], [3 ]], [])
1792
+ self .assertRaises (TypeError , prod , [{2 :3 }]* 2 , start = {2 :3 })
1793
+ self .assertRaises (TypeError , prod , [[1 ], [2 ], [3 ]], start = [])
1794
+
1795
+ # Some odd cases
1796
+ self .assertEqual (prod ([2 , 3 ], start = 'ab' ), 'abababababab' )
1797
+ self .assertEqual (prod ([2 , 3 ], start = [1 , 2 ]), [1 , 2 , 1 , 2 , 1 , 2 , 1 , 2 , 1 , 2 , 1 , 2 ])
1798
+ self .assertEqual (prod ([], start = {2 : 3 }), {2 :3 })
1799
+
1794
1800
with self .assertRaises (TypeError ):
1795
- prod ([10 , 20 ], [ 30 , 40 ] ) # start is a keyword-only argument
1801
+ prod ([10 , 20 ], 1 ) # start is a keyword-only argument
1796
1802
1797
1803
self .assertEqual (prod ([0 , 1 , 2 , 3 ]), 0 )
1798
1804
self .assertEqual (prod ([1 , 0 , 2 , 3 ]), 0 )
0 commit comments