Skip to content

Commit 7efb7a8

Browse files
committed
indexes\test setops
1 parent 1dd34fb commit 7efb7a8

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

pandas/tests/indexes/test_setops.py

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -925,20 +925,19 @@ def test_difference_incomparable_true(self, opname):
925925
with pytest.raises(TypeError, match=msg):
926926
op(a)
927927

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

932-
def has_mixed_types(level):
933-
return any(isinstance(x, str) for x in level) and any(
934-
isinstance(x, int) for x in level
935-
)
936-
937932
for idx in [index1, index2]:
938933
for lvl in range(idx.nlevels):
939-
if has_mixed_types(idx.get_level_values(lvl)):
940-
pytest.skip(
941-
f"Mixed types in MultiIndex level {lvl} are not orderable"
934+
inferred_type = idx.get_level_values(lvl).inferred_type
935+
if inferred_type in ["mixed", "mixed-integer"]:
936+
request.applymarker(
937+
pytest.mark.xfail(
938+
reason=f"Mixed types in MultiIndex level {lvl} "
939+
"are not orderable"
940+
)
942941
)
943942

944943
result = index1.symmetric_difference(index2, sort=sort)

0 commit comments

Comments
 (0)