Skip to content

Commit e3a1f4d

Browse files
committed
add tests for empyt level assignment in set_level
1 parent 58b1225 commit e3a1f4d

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

pandas/tests/indexing/test_multiindex.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,7 @@ def test_xs_multiindex(self):
430430

431431

432432
def test_set_level_checkall(self):
433-
# testing previous behaviour
433+
434434
idx = MultiIndex.from_tuples([(1, u'one'), (1, u'two'),
435435
(2, u'one'), (2, u'two')],
436436
names=['foo', 'bar'])
@@ -458,6 +458,17 @@ def test_set_level_checkall(self):
458458
names=[u'foo', u'bar'])
459459
tm.assert_index_equal(result, expected)
460460

461+
# setting empty levels are allowed
462+
idx = MultiIndex(levels=[['L1'], ['L2']], labels=[[], []], names=['a', 'b'])
463+
result = idx.set_levels([], level='a')
464+
expected = MultiIndex(levels=[[], ['L2']], labels=[[], []], names=['a', 'b'])
465+
tm.assert_index_equal(result, expected)
466+
467+
idx = MultiIndex(levels=[['L1'], ['L2']], labels=[[], []], names=['a', 'b'])
468+
result = idx.set_levels([[],[]], level=['a','b'])
469+
expected = MultiIndex(levels=[[], []], labels=[[], []], names=['a', 'b'])
470+
tm.assert_index_equal(result, expected)
471+
461472

462473
def test_multiindex_setitem(self):
463474

0 commit comments

Comments
 (0)