Skip to content

Commit ed2cc3e

Browse files
committed
indexes\test_setops fixed
1 parent c7cbeaa commit ed2cc3e

File tree

1 file changed

+7
-10
lines changed

1 file changed

+7
-10
lines changed

pandas/tests/indexes/test_setops.py

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -924,22 +924,19 @@ def test_difference_incomparable_true(self, opname):
924924
with pytest.raises(TypeError, match=msg):
925925
op(a)
926926

927-
def test_symmetric_difference_mi(self, sort):
927+
def test_symmetric_difference_mi(self, sort, request):
928928
index1 = MultiIndex.from_tuples(zip(["foo", "bar", "baz"], [1, 2, 3]))
929929
index2 = MultiIndex.from_tuples([("foo", 1), ("bar", 3)])
930930

931-
def has_mixed_types(level):
932-
return any(isinstance(x, str) for x in level) and any(
933-
isinstance(x, int) for x in level
934-
)
935-
936931
for idx in [index1, index2]:
937932
for lvl in range(idx.nlevels):
938-
if has_mixed_types(idx.get_level_values(lvl)):
939-
pytest.skip(
940-
f"Mixed types in MultiIndex level {lvl} are not orderable"
933+
level = idx.get_level_values(lvl)
934+
if getattr(level, "inferred_type", None) in {"mixed", "mixed-integer", "mixed-int-string"}:
935+
request.applymarker(
936+
pytest.mark.xfail(
937+
reason=f"Mixed types in MultiIndex level {lvl} are not orderable"
938+
)
941939
)
942-
943940
result = index1.symmetric_difference(index2, sort=sort)
944941
expected = MultiIndex.from_tuples([("bar", 2), ("baz", 3), ("bar", 3)])
945942
if sort is None:

0 commit comments

Comments
 (0)