Skip to content

Commit 5edf8ce

Browse files
committed
BUG: Fix (GH#61941) and unit test
1 parent db54fad commit 5edf8ce

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

pandas/_testing/asserters.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,9 @@ def _check_types(left, right, obj: str = "Index") -> None:
323323
elif check_exact and check_categorical:
324324
if not left.equals(right):
325325
try:
326-
mismatch = left._values != right._values
326+
mismatch = (
327+
left._internal_get_values() != right._internal_get_values()
328+
)
327329
except TypeError as e:
328330
raise AssertionError(
329331
f"{obj} cannot be compared due to incompatible"

pandas/tests/util/test_assert_index_equal.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -317,3 +317,11 @@ def test_assert_multi_index_dtype_check_categorical(check_categorical):
317317
tm.assert_index_equal(idx1, idx2, check_categorical=check_categorical)
318318
else:
319319
tm.assert_index_equal(idx1, idx2, check_categorical=check_categorical)
320+
321+
def test_assert_index_equal_categorical_mismatch_categories():
322+
# GH#61941
323+
left = CategoricalIndex(["a", "b"], categories=["a", "b"])
324+
right = CategoricalIndex(["a", "b"], categories=["b", "a"])
325+
326+
with pytest.raises(AssertionError, match="cannot be compared due to incompatible"):
327+
tm.assert_index_equal(left, right, check_exact=True, check_categorical=True)

0 commit comments

Comments
 (0)