@@ -357,6 +357,19 @@ def test_tuple_union_bug(self):
357
357
self .assert_ (union_idx .ndim == 1 )
358
358
self .assert_ (union_idx .equals (expected ))
359
359
360
+ def test_is_monotonic_incomparable (self ):
361
+ index = Index ([5 , datetime .now (), 7 ])
362
+ self .assert_ (not index .is_monotonic )
363
+
364
+ def test_get_set_value (self ):
365
+ values = np .random .randn (100 )
366
+ date = self .dateIndex [67 ]
367
+
368
+ assert_almost_equal (self .dateIndex .get_value (values , date ),
369
+ values [67 ])
370
+
371
+ self .dateIndex .set_value (values , date , 10 )
372
+ self .assertEquals (values [67 ], 10 )
360
373
361
374
class TestInt64Index (unittest .TestCase ):
362
375
@@ -881,6 +894,9 @@ def test_truncate(self):
881
894
result = index .truncate (before = 1 , after = 2 )
882
895
self .assertEqual (len (result .levels [0 ]), 2 )
883
896
897
+ # after < before
898
+ self .assertRaises (ValueError , index .truncate , 3 , 1 )
899
+
884
900
def test_get_indexer (self ):
885
901
major_axis = Index (range (4 ))
886
902
minor_axis = Index (range (2 ))
@@ -928,7 +944,8 @@ def test_equals(self):
928
944
self .assert_ (self .index .equal_levels (self .index ))
929
945
930
946
self .assert_ (not self .index .equals (self .index [:- 1 ]))
931
- self .assert_ (not self .index .equals (self .index .get_tuple_index ()))
947
+
948
+ self .assert_ (self .index .equals (self .index .get_tuple_index ()))
932
949
933
950
# different number of levels
934
951
index = MultiIndex (levels = [Index (range (4 )),
@@ -1193,6 +1210,31 @@ def _check_all(other):
1193
1210
_check_all (Index (['one' ]))
1194
1211
_check_all (Index (['one' , 'three' ]))
1195
1212
1213
+ # some corner cases
1214
+ idx = Index (['three' , 'one' , 'two' ])
1215
+ result = idx .join (self .index , level = 'second' )
1216
+ self .assert_ (isinstance (result , MultiIndex ))
1217
+
1218
+ self .assertRaises (Exception , self .index .join , self .index , level = 1 )
1219
+
1220
+ def test_reindex (self ):
1221
+ result , indexer = self .index .reindex (list (self .index [:4 ]))
1222
+ self .assert_ (isinstance (result , MultiIndex ))
1223
+
1224
+ result , indexer = self .index .reindex (list (self .index ))
1225
+ self .assert_ (isinstance (result , MultiIndex ))
1226
+ self .assert_ (indexer is None )
1227
+
1228
+ def test_reindex_level (self ):
1229
+ idx = Index (['one' ])
1230
+
1231
+ target , indexer = self .index .reindex (idx , level = 'second' )
1232
+ target2 , indexer2 = idx .reindex (self .index , idx , level = 'second' )
1233
+
1234
+ exp_index = self .index .join (idx , level = 'second' , how = 'left' )
1235
+ self .assert_ (target .equals (exp_index ))
1236
+ self .assert_ (target2 .equals (exp_index ))
1237
+
1196
1238
def test_has_duplicates (self ):
1197
1239
self .assert_ (not self .index .has_duplicates )
1198
1240
self .assert_ (self .index .append (self .index ).has_duplicates )
0 commit comments