@@ -1724,16 +1724,22 @@ def test_prod(self):
1724
1724
self .assertRaises (TypeError , prod )
1725
1725
self .assertRaises (TypeError , prod , 42 )
1726
1726
self .assertRaises (TypeError , prod , ['a' , 'b' , 'c' ])
1727
- self .assertRaises (TypeError , prod , ['a' , 'b' , 'c' ], '' )
1728
- self .assertRaises (TypeError , prod , [b'a' , b'c' ], b'' )
1727
+ self .assertRaises (TypeError , prod , ['a' , 'b' , 'c' ], start = '' )
1728
+ self .assertRaises (TypeError , prod , [b'a' , b'c' ], start = b'' )
1729
1729
values = [bytearray (b'a' ), bytearray (b'b' )]
1730
- self .assertRaises (TypeError , prod , values , bytearray (b'' ))
1730
+ self .assertRaises (TypeError , prod , values , start = bytearray (b'' ))
1731
1731
self .assertRaises (TypeError , prod , [[1 ], [2 ], [3 ]])
1732
1732
self .assertRaises (TypeError , prod , [{2 :3 }])
1733
- self .assertRaises (TypeError , prod , [{2 :3 }]* 2 , {2 :3 })
1734
- self .assertRaises (TypeError , prod , [[1 ], [2 ], [3 ]], [])
1733
+ self .assertRaises (TypeError , prod , [{2 :3 }]* 2 , start = {2 :3 })
1734
+ self .assertRaises (TypeError , prod , [[1 ], [2 ], [3 ]], start = [])
1735
+
1736
+ # Some odd cases
1737
+ self .assertEqual (prod ([2 , 3 ], start = 'ab' ), 'abababababab' )
1738
+ self .assertEqual (prod ([2 , 3 ], start = [1 , 2 ]), [1 , 2 , 1 , 2 , 1 , 2 , 1 , 2 , 1 , 2 , 1 , 2 ])
1739
+ self .assertEqual (prod ([], start = {2 : 3 }), {2 :3 })
1740
+
1735
1741
with self .assertRaises (TypeError ):
1736
- prod ([10 , 20 ], [ 30 , 40 ] ) # start is a keyword-only argument
1742
+ prod ([10 , 20 ], 1 ) # start is a keyword-only argument
1737
1743
1738
1744
self .assertEqual (prod ([0 , 1 , 2 , 3 ]), 0 )
1739
1745
self .assertEqual (prod ([1 , 0 , 2 , 3 ]), 0 )
0 commit comments