@@ -2795,23 +2795,20 @@ def test_pipe_failures(self):
2795
2795
2796
2796
tm .assert_series_equal (result , exp )
2797
2797
2798
- def test_slice (self ):
2798
+ @pytest .mark .parametrize (
2799
+ "start, stop, step, expected" ,
2800
+ [
2801
+ (2 , 5 , None , Series (["foo" , "bar" , NA , "baz" ])),
2802
+ (0 , 3 , - 1 , Series (["" , "" , NA , "" ])),
2803
+ (None , None , - 1 , Series (["owtoofaa" , "owtrabaa" , NA , "xuqzabaa" ])),
2804
+ (3 , 10 , 2 , Series (["oto" , "ato" , NA , "aqx" ])),
2805
+ (3 , 0 , - 1 , Series (["ofa" , "aba" , NA , "aba" ])),
2806
+ ],
2807
+ )
2808
+ def test_slice (self , start , stop , step , expected ):
2799
2809
values = Series (["aafootwo" , "aabartwo" , NA , "aabazqux" ])
2800
-
2801
- result = values .str .slice (2 , 5 )
2802
- exp = Series (["foo" , "bar" , NA , "baz" ])
2803
- tm .assert_series_equal (result , exp )
2804
-
2805
- for start , stop , step in [(0 , 3 , - 1 ), (None , None , - 1 ), (3 , 10 , 2 ), (3 , 0 , - 1 )]:
2806
- try :
2807
- result = values .str .slice (start , stop , step )
2808
- expected = Series (
2809
- [s [start :stop :step ] if not isna (s ) else NA for s in values ]
2810
- )
2811
- tm .assert_series_equal (result , expected )
2812
- except IndexError :
2813
- print ("failed on %s:%s:%s" % (start , stop , step ))
2814
- raise
2810
+ result = values .str .slice (start , stop , step )
2811
+ tm .assert_series_equal (result , expected )
2815
2812
2816
2813
# mixed
2817
2814
mixed = Series (
0 commit comments