@@ -278,17 +278,32 @@ def test_compare_array(self, data, all_compare_operators):
278
278
self ._compare_other (s , data , op_name , other )
279
279
280
280
281
+ class DecimalArrayWithoutFromSequence (DecimalArray ):
282
+ """Helper class for testing error handling in _from_sequence."""
283
+ def _from_sequence (cls , scalars , dtype = None , copy = False ):
284
+ raise KeyError ("For the test" )
285
+
286
+
281
287
def test_combine_from_sequence_raises ():
282
288
# https://github.com./pandas-dev/pandas/issues/22850
283
- class BadDecimalArray (DecimalArray ):
284
- def _from_sequence (cls , scalars , dtype = None , copy = False ):
285
- raise KeyError ("For the test" )
286
-
287
- ser = pd .Series (BadDecimalArray ([decimal .Decimal ("1.0" ),
288
- decimal .Decimal ("2.0" )]))
289
+ ser = pd .Series (DecimalArrayWithoutFromSequence ([
290
+ decimal .Decimal ("1.0" ),
291
+ decimal .Decimal ("2.0" )
292
+ ]))
289
293
result = ser .combine (ser , operator .add )
290
294
291
295
# note: object dtype
292
296
expected = pd .Series ([decimal .Decimal ("2.0" ),
293
297
decimal .Decimal ("4.0" )], dtype = "object" )
294
298
tm .assert_series_equal (result , expected )
299
+
300
+
301
+ def test_scalar_ops_from_sequence_raises ():
302
+ arr = DecimalArrayWithoutFromSequence ([
303
+ decimal .Decimal ("1.0" ),
304
+ decimal .Decimal ("2.0" )
305
+ ])
306
+ result = arr + arr
307
+ expected = np .array ([decimal .Decimal ("2.0" ), decimal .Decimal ("4.0" )],
308
+ dtype = "object" )
309
+ tm .assert_numpy_array_equal (result , expected )
0 commit comments