@@ -536,3 +536,44 @@ def test_invert(self):
536536 ser = tm .makeStringSeries ()
537537 ser .name = "series"
538538 tm .assert_series_equal (- (ser < 0 ), ~ (ser < 0 ))
539+
540+ @pytest .mark .parametrize (
541+ "source, target" ,
542+ [
543+ ([1 , 2 , 3 ], [- 1 , - 2 , - 3 ]),
544+ ([1 , 2 , None ], [- 1 , - 2 , None ]),
545+ ([- 1 , 0 , 1 ], [1 , 0 , - 1 ]),
546+ ],
547+ )
548+ def test_unary_minus_nullable_int (
549+ self , any_signed_nullable_int_dtype , source , target
550+ ):
551+ dtype = any_signed_nullable_int_dtype
552+ s = pd .Series (source , dtype = dtype )
553+ result = - s
554+ expected = pd .Series (target , dtype = dtype )
555+ tm .assert_series_equal (result , expected )
556+
557+ @pytest .mark .parametrize (
558+ "source" , [[1 , 2 , 3 ], [1 , 2 , None ], [- 1 , 0 , 1 ]],
559+ )
560+ def test_unary_plus_nullable_int (self , any_signed_nullable_int_dtype , source ):
561+ dtype = any_signed_nullable_int_dtype
562+ expected = pd .Series (source , dtype = dtype )
563+ result = + expected
564+ tm .assert_series_equal (result , expected )
565+
566+ @pytest .mark .parametrize (
567+ "source, target" ,
568+ [
569+ ([1 , 2 , 3 ], [1 , 2 , 3 ]),
570+ ([1 , - 2 , None ], [1 , 2 , None ]),
571+ ([- 1 , 0 , 1 ], [1 , 0 , 1 ]),
572+ ],
573+ )
574+ def test_abs_nullable_int (self , any_signed_nullable_int_dtype , source , target ):
575+ dtype = any_signed_nullable_int_dtype
576+ s = pd .Series (source , dtype = dtype )
577+ result = abs (s )
578+ expected = pd .Series (target , dtype = dtype )
579+ tm .assert_series_equal (result , expected )
0 commit comments