@@ -53,11 +53,11 @@ def test_pickle_compat_construction(self):
5353 # need an object to create with
5454 self .assertRaises (TypeError , self ._holder )
5555
56- def test_shift_index (self ):
57- # err8083 test the base class for shift
56+ def test_shift (self ):
57+
58+ # GH8083 test the base class for shift
5859 idx = self .create_index ()
5960 self .assertRaises (NotImplementedError , idx .shift , 1 )
60-
6161 self .assertRaises (NotImplementedError , idx .shift , 1 , 2 )
6262
6363 def test_numeric_compat (self ):
@@ -1057,19 +1057,6 @@ def test_getitem(self):
10571057
10581058 self .assertEqual (exp , arr [5 ])
10591059
1060- def test_shift (self ):
1061- shifted = self .dateIndex .shift (0 , timedelta (1 ))
1062- self .assertIs (shifted , self .dateIndex )
1063-
1064- shifted = self .dateIndex .shift (5 , timedelta (1 ))
1065- tm .assert_numpy_array_equal (shifted , self .dateIndex + timedelta (5 ))
1066-
1067- shifted = self .dateIndex .shift (1 , 'B' )
1068- tm .assert_numpy_array_equal (shifted , self .dateIndex + offsets .BDay ())
1069-
1070- shifted .name = 'shifted'
1071- self .assertEqual (shifted .name , shifted .shift (1 , 'D' ).name )
1072-
10731060 def test_intersection (self ):
10741061 first = self .strIndex [:20 ]
10751062 second = self .strIndex [:10 ]
@@ -3393,6 +3380,11 @@ def test_ufunc_coercions(self):
33933380
33943381class DatetimeLike (Base ):
33953382
3383+ def test_shift_identity (self ):
3384+
3385+ idx = self .create_index ()
3386+ self .assert_index_equal (idx , idx .shift (0 ))
3387+
33963388 def test_str (self ):
33973389
33983390 # test the string repr
@@ -3433,20 +3425,16 @@ def create_index(self):
34333425 return date_range ('20130101' , periods = 5 )
34343426
34353427 def test_shift (self ):
3428+
34363429 # test shift for datetimeIndex and non datetimeIndex
3437- # err8083
3430+ # GH8083
34383431
34393432 drange = self .create_index ()
34403433 result = drange .shift (1 )
34413434 expected = DatetimeIndex (['2013-01-02' , '2013-01-03' , '2013-01-04' , '2013-01-05' ,
34423435 '2013-01-06' ], freq = 'D' )
34433436 self .assert_index_equal (result , expected )
34443437
3445- result = drange .shift (0 )
3446- expected = DatetimeIndex (['2013-01-01' , '2013-01-02' , '2013-01-03' , '2013-01-04' ,
3447- '2013-01-05' ], freq = 'D' )
3448- self .assert_index_equal (result , expected )
3449-
34503438 result = drange .shift (- 1 )
34513439 expected = DatetimeIndex (['2012-12-31' ,'2013-01-01' , '2013-01-02' , '2013-01-03' , '2013-01-04' ],
34523440 freq = 'D' )
@@ -3722,9 +3710,9 @@ def create_index(self):
37223710 return period_range ('20130101' , periods = 5 , freq = 'D' )
37233711
37243712 def test_shift (self ):
3725- # test shift for PeriodIndex
3726- # err8083
37273713
3714+ # test shift for PeriodIndex
3715+ # GH8083
37283716 drange = self .create_index ()
37293717 result = drange .shift (1 )
37303718 expected = PeriodIndex (['2013-01-02' , '2013-01-03' , '2013-01-04' , '2013-01-05' ,
@@ -3837,9 +3825,9 @@ def test_shift(self):
38373825 '4 days 01:00:00' , '5 days 01:00:00' ],freq = 'D' )
38383826 self .assert_index_equal (result , expected )
38393827
3840- result = drange .shift (3 , freq = '2D' )
3841- expected = TimedeltaIndex (['2 days 01:00:00 ' , '3 days 01:00:00 ' , '4 days 01:00:00 ' ,
3842- '5 days 01:00:00 ' , '6 days 01:00:00 ' ],freq = 'D' )
3828+ result = drange .shift (3 , freq = '2D 1s ' )
3829+ expected = TimedeltaIndex (['6 days 01:00:03 ' , '7 days 01:00:03 ' , '8 days 01:00:03 ' ,
3830+ '9 days 01:00:03 ' , '10 days 01:00:03 ' ],freq = 'D' )
38433831 self .assert_index_equal (result , expected )
38443832
38453833 def test_get_loc (self ):
0 commit comments