Skip to content

Commit 3625333

Browse files
committed
TST: core/index test coverage
1 parent 77caf36 commit 3625333

File tree

3 files changed

+47
-2
lines changed

3 files changed

+47
-2
lines changed

pandas/core/index.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1649,7 +1649,7 @@ def equals(self, other):
16491649
return True
16501650

16511651
if not isinstance(other, MultiIndex):
1652-
return False
1652+
return np.array_equal(self.values, _ensure_index(other))
16531653

16541654
if self.nlevels != other.nlevels:
16551655
return False

pandas/tests/test_index.py

+43-1
Original file line numberDiff line numberDiff line change
@@ -357,6 +357,19 @@ def test_tuple_union_bug(self):
357357
self.assert_(union_idx.ndim == 1)
358358
self.assert_(union_idx.equals(expected))
359359

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)
360373

361374
class TestInt64Index(unittest.TestCase):
362375

@@ -881,6 +894,9 @@ def test_truncate(self):
881894
result = index.truncate(before=1, after=2)
882895
self.assertEqual(len(result.levels[0]), 2)
883896

897+
# after < before
898+
self.assertRaises(ValueError, index.truncate, 3, 1)
899+
884900
def test_get_indexer(self):
885901
major_axis = Index(range(4))
886902
minor_axis = Index(range(2))
@@ -928,7 +944,8 @@ def test_equals(self):
928944
self.assert_(self.index.equal_levels(self.index))
929945

930946
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()))
932949

933950
# different number of levels
934951
index = MultiIndex(levels=[Index(range(4)),
@@ -1193,6 +1210,31 @@ def _check_all(other):
11931210
_check_all(Index(['one']))
11941211
_check_all(Index(['one', 'three']))
11951212

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+
11961238
def test_has_duplicates(self):
11971239
self.assert_(not self.index.has_duplicates)
11981240
self.assert_(self.index.append(self.index).has_duplicates)

pandas/tests/test_multilevel.py

+3
Original file line numberDiff line numberDiff line change
@@ -618,6 +618,9 @@ def test_reorder_levels(self):
618618
expected = self.ymd.T.swaplevel(0, 1, axis=1).swaplevel(1, 2, axis=1)
619619
assert_frame_equal(result, expected)
620620

621+
self.assertRaises(Exception, self.ymd.index.reorder_levels,
622+
[1, 2, 3])
623+
621624
def test_insert_index(self):
622625
df = self.ymd[:5].T
623626
df[2000, 1, 10] = df[2000, 1, 7]

0 commit comments

Comments
 (0)