@@ -670,7 +670,8 @@ def test_promote_datetime_date(self):
670
670
rng = date_range ('1/1/2000' , periods = 20 )
671
671
ts = Series (np .random .randn (20 ), index = rng )
672
672
673
- ts2 = ts [5 :]
673
+ ts_slice = ts [5 :]
674
+ ts2 = ts_slice .copy ()
674
675
ts2 .index = [x .date () for x in ts2 .index ]
675
676
676
677
result = ts + ts2
@@ -684,6 +685,10 @@ def test_promote_datetime_date(self):
684
685
expected = ts [5 :].asfreq ('4H' , method = 'ffill' )
685
686
assert_series_equal (result , expected )
686
687
688
+ result = rng .get_indexer (ts2 .index )
689
+ expected = rng .get_indexer (ts_slice .index )
690
+ self .assert_ (np .array_equal (result , expected ))
691
+
687
692
def test_date_range_gen_error (self ):
688
693
rng = date_range ('1/1/2000 00:00' , '1/1/2000 00:18' , freq = '5min' )
689
694
self .assertEquals (len (rng ), 4 )
@@ -756,6 +761,10 @@ def test_at_time(self):
756
761
self .assert_ ((rs .index .minute == rng [1 ].minute ).all ())
757
762
self .assert_ ((rs .index .second == rng [1 ].second ).all ())
758
763
764
+ result = ts .at_time ('9:30' )
765
+ expected = ts .at_time (time (9 , 30 ))
766
+ assert_series_equal (result , expected )
767
+
759
768
df = DataFrame (np .random .randn (len (rng ), 3 ), index = rng )
760
769
761
770
result = ts [time (9 , 30 )]
@@ -808,6 +817,10 @@ def test_between_time(self):
808
817
else :
809
818
self .assert_ (t < etime )
810
819
820
+ result = ts .between_time ('00:00' , '01:00' )
821
+ expected = ts .between_time (stime , etime )
822
+ assert_series_equal (result , expected )
823
+
811
824
def test_dti_constructor_preserve_dti_freq (self ):
812
825
rng = date_range ('1/1/2000' , '1/2/2000' , freq = '5min' )
813
826
@@ -1056,6 +1069,12 @@ def test_misc_coverage(self):
1056
1069
result = rng .groupby (rng .day )
1057
1070
self .assert_ (isinstance (result .values ()[0 ][0 ], Timestamp ))
1058
1071
1072
+ idx = DatetimeIndex (['2000-01-03' , '2000-01-01' , '2000-01-02' ])
1073
+ self .assert_ (idx .equals (list (idx )))
1074
+
1075
+ non_datetime = Index (list ('abc' ))
1076
+ self .assert_ (not idx .equals (list (non_datetime )))
1077
+
1059
1078
def test_union_coverage (self ):
1060
1079
idx = DatetimeIndex (['2000-01-03' , '2000-01-01' , '2000-01-02' ])
1061
1080
ordered = DatetimeIndex (idx .order (), freq = 'infer' )
@@ -1082,6 +1101,11 @@ def test_get_duplicates(self):
1082
1101
ex = DatetimeIndex (['2000-01-02' , '2000-01-03' ])
1083
1102
self .assert_ (result .equals (ex ))
1084
1103
1104
+ def test_argmin_argmax (self ):
1105
+ idx = DatetimeIndex (['2000-01-04' , '2000-01-01' , '2000-01-02' ])
1106
+ self .assertEqual (idx .argmin (), 1 )
1107
+ self .assertEqual (idx .argmax (), 0 )
1108
+
1085
1109
def test_order (self ):
1086
1110
idx = DatetimeIndex (['2000-01-04' , '2000-01-01' , '2000-01-02' ])
1087
1111
@@ -1099,6 +1123,17 @@ def test_order(self):
1099
1123
self .assert_ (ordered [::- 1 ].is_monotonic )
1100
1124
self .assert_ (np .array_equal (dexer , [0 , 2 , 1 ]))
1101
1125
1126
+ def test_insert (self ):
1127
+ idx = DatetimeIndex (['2000-01-04' , '2000-01-01' , '2000-01-02' ])
1128
+
1129
+ result = idx .insert (2 , datetime (2000 , 1 , 5 ))
1130
+ exp = DatetimeIndex (['2000-01-04' , '2000-01-01' , '2000-01-05' ,
1131
+ '2000-01-02' ])
1132
+ self .assert_ (result .equals (exp ))
1133
+
1134
+ idx = date_range ('1/1/2000' , periods = 3 , freq = 'M' )
1135
+ result = idx .insert (3 , datetime (2000 , 4 , 30 ))
1136
+ self .assert_ (result .freqstr == 'M' )
1102
1137
1103
1138
class TestLegacySupport (unittest .TestCase ):
1104
1139
0 commit comments