@@ -188,7 +188,7 @@ def assert_index_equal(
188
188
check_order : bool = True ,
189
189
rtol : float = 1.0e-5 ,
190
190
atol : float = 1.0e-8 ,
191
- obj : str = "Index" ,
191
+ obj : str | None = None ,
192
192
) -> None :
193
193
"""
194
194
Check that left and right Index are equal.
@@ -217,7 +217,7 @@ def assert_index_equal(
217
217
Relative tolerance. Only used when check_exact is False.
218
218
atol : float, default 1e-8
219
219
Absolute tolerance. Only used when check_exact is False.
220
- obj : str, default 'Index'
220
+ obj : str, default 'Index' or 'MultiIndex'
221
221
Specify object name being compared, internally used to show appropriate
222
222
assertion message.
223
223
@@ -235,6 +235,9 @@ def assert_index_equal(
235
235
"""
236
236
__tracebackhide__ = True
237
237
238
+ if obj is None :
239
+ obj = "MultiIndex" if isinstance (left , MultiIndex ) else "Index"
240
+
238
241
def _check_types (left , right , obj : str = "Index" ) -> None :
239
242
if not exact :
240
243
return
@@ -281,10 +284,9 @@ def _check_types(left, right, obj: str = "Index") -> None:
281
284
# MultiIndex special comparison for little-friendly error messages
282
285
if isinstance (left , MultiIndex ):
283
286
right = cast (MultiIndex , right )
284
- root_obj = "MultiIndex" if obj == "Index" else obj
285
287
286
288
for level in range (left .nlevels ):
287
- lobj = f"{ root_obj } level [{ level } ]"
289
+ lobj = f"{ obj } level [{ level } ]"
288
290
try :
289
291
# try comparison on levels/codes to avoid densifying MultiIndex
290
292
assert_index_equal (
0 commit comments