Skip to content

Commit e32641e

Browse files
committed
TST: parametrize test for GH pandas-dev#25512
1 parent 897dd8b commit e32641e

File tree

1 file changed

+16
-28
lines changed

1 file changed

+16
-28
lines changed

pandas/tests/indexes/datetimes/test_tools.py

Lines changed: 16 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -98,35 +98,23 @@ def test_to_datetime_format_YYYYMMDD(self, cache):
9898
expected = Series(['20121231', '20141231', 'NaT'], dtype='M8[ns]')
9999
tm.assert_series_equal(result, expected)
100100

101-
@pytest.mark.parametrize('cache', [True, False])
102-
def test_to_datetime_format_YYYYMMDD_overflow(self, cache):
101+
@pytest.mark.parametrize("input_s, expected", [
102+
# NaN before strings with invalid date values
103+
[Series(['19801222', np.nan, '20010012', '10019999']),
104+
Series([Timestamp('19801222'), np.nan, np.nan, np.nan])],
105+
# NaN after strings with invalid date values
106+
[Series(['19801222', '20010012', '10019999', np.nan]),
107+
Series([Timestamp('19801222'), np.nan, np.nan, np.nan])],
108+
# NaN before integers with invalid date values
109+
[Series([20190813, np.nan, 20010012, 20019999]),
110+
Series([Timestamp('20190813'), np.nan, np.nan, np.nan])],
111+
# NaN after integers with invalid date values
112+
[Series([20190813, 20010012, np.nan, 20019999]),
113+
Series([Timestamp('20190813'), np.nan, np.nan, np.nan])]])
114+
def test_to_datetime_format_YYYYMMDD_overflow(self, input_s, expected):
103115
# GH 25512
104-
# NaN before strings with invalid date values, errors=coerce
105-
s = Series(['19801222', np.nan, '20010012', '10019999'])
106-
result = pd.to_datetime(s, format='%Y%m%d', errors='coerce',
107-
cache=cache)
108-
expected = Series([Timestamp('19801222'), np.nan, np.nan, np.nan])
109-
assert_series_equal(result, expected)
110-
111-
# NaN after strings with invalid date values, errors=coerce
112-
s = Series(['19801222', '20010012', '10019999', np.nan])
113-
result = pd.to_datetime(s, format='%Y%m%d', errors='coerce',
114-
cache=cache)
115-
expected = Series([Timestamp('19801222'), np.nan, np.nan, np.nan])
116-
assert_series_equal(result, expected)
117-
118-
# NaN before integers with invalid date values, errors=coerce
119-
s = Series([20190813, np.nan, 20010012, 20019999])
120-
result = pd.to_datetime(s, format='%Y%m%d', errors='coerce',
121-
cache=cache)
122-
expected = Series([Timestamp('20190813'), np.nan, np.nan, np.nan])
123-
assert_series_equal(result, expected)
124-
125-
# NaN after integers with invalid date values, errors=coerce
126-
s = Series([20190813, 20010012, np.nan, 20019999])
127-
result = pd.to_datetime(s, format='%Y%m%d', errors='coerce',
128-
cache=cache)
129-
expected = Series([Timestamp('20190813'), np.nan, np.nan, np.nan])
116+
# format='%Y%m%d', errors='coerce'
117+
result = pd.to_datetime(input_s, format='%Y%m%d', errors='coerce')
130118
assert_series_equal(result, expected)
131119

132120
@pytest.mark.parametrize('cache', [True, False])

0 commit comments

Comments
 (0)