@@ -496,11 +496,28 @@ def test_sort_index_duplicates(self):
496496 def test_sort_index_level (self ):
497497 mi = MultiIndex .from_tuples ([[1 , 1 , 3 ], [1 , 1 , 1 ]], names = list ('ABC' ))
498498 df = DataFrame ([[1 , 2 ], [3 , 4 ]], mi )
499- res = df .sort_index (level = 'A' , sort_remaining = False )
500- assert_frame_equal (df , res )
501499
502- res = df .sort_index (level = ['A' , 'B' ], sort_remaining = False )
503- assert_frame_equal (df , res )
500+ result = df .sort_index (level = 'A' , sort_remaining = False )
501+ expected = df
502+ assert_frame_equal (result , expected )
503+
504+ result = df .sort_index (level = ['A' , 'B' ], sort_remaining = False )
505+ expected = df
506+ assert_frame_equal (result , expected )
507+
508+ # Error thrown by sort_index when
509+ # first index is sorted last (#26053)
510+ result = df .sort_index (level = ['C' , 'B' , 'A' ])
511+ expected = df .iloc [[1 , 0 ]]
512+ assert_frame_equal (result , expected )
513+
514+ result = df .sort_index (level = ['B' , 'C' , 'A' ])
515+ expected = df .iloc [[1 , 0 ]]
516+ assert_frame_equal (result , expected )
517+
518+ result = df .sort_index (level = ['C' , 'A' ])
519+ expected = df .iloc [[1 , 0 ]]
520+ assert_frame_equal (result , expected )
504521
505522 def test_sort_index_categorical_index (self ):
506523
0 commit comments