Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion pandas/tests/arrays/boolean/test_arithmetic.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,10 @@ def test_div(left_array, right_array):
@pytest.mark.parametrize(
"opname",
[
"floordiv",
pytest.param(
"floordiv",
marks=pytest.mark.xfail(reason="NumpyDev GH#40874", strict=False),
),
"mod",
pytest.param(
"pow", marks=pytest.mark.xfail(reason="TODO follow int8 behaviour? GH34686")
Expand Down
7 changes: 7 additions & 0 deletions pandas/tests/arrays/masked/test_arithmetic.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
import numpy as np
import pytest

from pandas.compat import is_numpy_dev

import pandas as pd
import pandas._testing as tm
from pandas.core.arrays import ExtensionArray
Expand Down Expand Up @@ -52,6 +54,11 @@ def test_array_scalar_like_equivalence(data, all_arithmetic_operators):
def test_array_NA(data, all_arithmetic_operators):
if "truediv" in all_arithmetic_operators:
pytest.skip("division with pd.NA raises")
if (
"floordiv" in all_arithmetic_operators
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

all_arithmetic_operators is a scalar, despite the name. maybe should be == and add the dunders for clarity?

and then maybe simplify further...

if all_arithmetic_operators in ("__floordiv__", "__rfloordiv__"):

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See below

or "rfloordiv" in all_arithmetic_operators
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

since this is already true if "floordiv" in all_arithmetic_operators since "floordiv" in "rfloordiv" is True

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thats a good point, would go with this then?

) and is_numpy_dev:
pytest.skip("NumpyDev behavior GH#40874")
data, _ = data
op = tm.get_op_from_name(all_arithmetic_operators)
check_skip(data, all_arithmetic_operators)
Expand Down
31 changes: 31 additions & 0 deletions pandas/tests/extension/test_boolean.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
import numpy as np
import pytest

from pandas.compat import is_numpy_dev

import pandas as pd
import pandas._testing as tm
from pandas.core.arrays.boolean import BooleanDtype
Expand Down Expand Up @@ -140,6 +142,35 @@ def _check_op(self, obj, op, other, op_name, exc=NotImplementedError):
with pytest.raises(exc):
op(obj, other)

def test_arith_series_with_scalar(self, data, all_arithmetic_operators):
if (
"floordiv" in all_arithmetic_operators
or "rfloordiv" in all_arithmetic_operators
) and is_numpy_dev:
pytest.skip("NumpyDev behavior GH#40874")
super().test_arith_series_with_scalar(data, all_arithmetic_operators)

def test_arith_frame_with_scalar(self, data, all_arithmetic_operators):
if (
"floordiv" in all_arithmetic_operators
or "rfloordiv" in all_arithmetic_operators
) and is_numpy_dev:
pytest.skip("NumpyDev behavior GH#40874")
super().test_arith_frame_with_scalar(data, all_arithmetic_operators)

def test_arith_series_with_array(self, data, all_arithmetic_operators):
if (
"floordiv" in all_arithmetic_operators
or "rfloordiv" in all_arithmetic_operators
) and is_numpy_dev:
pytest.skip("NumpyDev behavior GH#40874")
super().test_arith_series_with_scalar(data, all_arithmetic_operators)

def test_divmod_series_array(self, data, data_for_twos):
if is_numpy_dev:
pytest.skip("NumpyDev behavior GH#40874")
super().test_divmod_series_array(data, data_for_twos)

def _check_divmod_op(self, s, op, other, exc=None):
# override to not raise an error
super()._check_divmod_op(s, op, other, None)
Expand Down