Skip to content

Commit 1ea03e6

Browse files
styling, ex msg fixes
1 parent 992ca95 commit 1ea03e6

File tree

1 file changed

+25
-14
lines changed

1 file changed

+25
-14
lines changed

pandas/tests/series/test_reductions.py

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
from hypothesis import given, note
1+
import platform
2+
3+
from hypothesis import given
24
import hypothesis.strategies as st
35
import numpy as np
46
import pytest
@@ -11,6 +13,13 @@
1113
import pandas._testing as tm
1214

1315

16+
@pytest.fixture(name="overflow_msg", scope="module")
17+
def fixture_overflow_msg() -> str:
18+
if platform.system() == "Windows":
19+
return "int too big to convert"
20+
return "Python int too large to convert to C long"
21+
22+
1423
@pytest.mark.parametrize("operation, expected", [("min", "a"), ("max", "b")])
1524
def test_reductions_series_strings(operation, expected):
1625
# GH#31746
@@ -60,7 +69,7 @@ def test_td64_sum_empty(skipna):
6069
).map(pd.Timedelta)
6170
)
6271
def test_td64_summation_retains_ns_precision_over_expected_range(value: pd.Timedelta):
63-
result = pd.Series(value).sum()
72+
result = Series(value).sum()
6473

6574
assert result == value
6675

@@ -76,31 +85,33 @@ def test_td64_summation_retains_ns_precision_over_expected_range(value: pd.Timed
7685
def test_td64_summation_loses_ns_precision_if_float_conversion_rounds(
7786
value: pd.Timedelta,
7887
):
79-
result = pd.Series(value).sum()
88+
result = Series(value).sum()
8089

8190
assert result != value
8291

8392

8493
@given(
85-
st.integers(
94+
value=st.integers(
8695
min_value=pd.Timedelta.max.value - 2**9 + 1,
8796
max_value=pd.Timedelta.max.value,
8897
).map(pd.Timedelta)
8998
)
90-
def test_td64_summation_raises_spurious_overflow_error_for_single_elem_series_with_near_max_value(
99+
def test_td64_summation_raises_spurious_overflow_error_for_single_elem_series(
91100
value: pd.Timedelta,
101+
overflow_msg: str,
92102
):
93-
msg = "Python int too large to convert to C long"
94-
with pytest.raises(OverflowError, match=msg):
95-
pd.Series(value).sum()
103+
with pytest.raises(OverflowError, match=overflow_msg):
104+
Series(value).sum()
96105

97106

98-
@given(st.integers(min_value=1, max_value=2**10).map(pd.Timedelta))
99-
def test_td64_summation_raises_overflow_error_for_small_overflows(value: pd.Timedelta):
100-
s = pd.Series([pd.Timedelta.max, value])
107+
@given(value=st.integers(min_value=1, max_value=2**10).map(pd.Timedelta))
108+
def test_td64_summation_raises_overflow_error_for_small_overflows(
109+
value: pd.Timedelta,
110+
overflow_msg: str,
111+
):
112+
s = Series([pd.Timedelta.max, value])
101113

102-
msg = "Python int too large to convert to C long"
103-
with pytest.raises(OverflowError, match=msg):
114+
with pytest.raises(OverflowError, match=overflow_msg):
104115
s.sum()
105116

106117

@@ -111,7 +122,7 @@ def test_td64_summation_raises_overflow_error_for_small_overflows(value: pd.Time
111122
).map(pd.Timedelta)
112123
)
113124
def test_td64_summation_raises_value_error_for_most_overflows(value: pd.Timedelta):
114-
s = pd.Series([pd.Timedelta.max, value])
125+
s = Series([pd.Timedelta.max, value])
115126

116127
msg = "overflow in timedelta operation"
117128
with pytest.raises(ValueError, match=msg):

0 commit comments

Comments
 (0)