Skip to content

Commit e78b8a4

Browse files
committed
TST: create separate test test_to_datetime_format_YYYYMMDD_overflow() for pandas-dev#25512
1 parent 832b2ee commit e78b8a4

File tree

1 file changed

+20
-18
lines changed

1 file changed

+20
-18
lines changed

pandas/tests/indexes/datetimes/test_tools.py

+20-18
Original file line numberDiff line numberDiff line change
@@ -83,48 +83,50 @@ def test_to_datetime_format_YYYYMMDD(self, cache):
8383
result = to_datetime(s, format='%Y%m%d', cache=cache)
8484
assert_series_equal(result, expected)
8585

86+
# coercion
87+
# GH 7930
88+
s = Series([20121231, 20141231, 99991231])
89+
result = pd.to_datetime(s, format='%Y%m%d', errors='ignore',
90+
cache=cache)
91+
expected = Series([datetime(2012, 12, 31),
92+
datetime(2014, 12, 31), datetime(9999, 12, 31)],
93+
dtype=object)
94+
tm.assert_series_equal(result, expected)
95+
96+
result = pd.to_datetime(s, format='%Y%m%d', errors='coerce',
97+
cache=cache)
98+
expected = Series(['20121231', '20141231', 'NaT'], dtype='M8[ns]')
99+
tm.assert_series_equal(result, expected)
100+
101+
@pytest.mark.parametrize('cache', [True, False])
102+
def test_to_datetime_format_YYYYMMDD_overflow(self, cache):
86103
# GH 25512
87104
# NaN before strings with invalid date values, errors=coerce
88105
s = Series(['19801222', np.nan, '20010012', '10019999'])
89106
result = pd.to_datetime(s, format='%Y%m%d', errors='coerce',
90107
cache=cache)
91108
expected = Series([Timestamp('19801222'), np.nan, np.nan, np.nan])
92-
tm.assert_series_equal(result, expected)
109+
assert_series_equal(result, expected)
93110

94111
# NaN after strings with invalid date values, errors=coerce
95112
s = Series(['19801222', '20010012', '10019999', np.nan])
96113
result = pd.to_datetime(s, format='%Y%m%d', errors='coerce',
97114
cache=cache)
98115
expected = Series([Timestamp('19801222'), np.nan, np.nan, np.nan])
99-
tm.assert_series_equal(result, expected)
116+
assert_series_equal(result, expected)
100117

101118
# NaN before integers with invalid date values, errors=coerce
102119
s = Series([20190813, np.nan, 20010012, 20019999])
103120
result = pd.to_datetime(s, format='%Y%m%d', errors='coerce',
104121
cache=cache)
105122
expected = Series([Timestamp('20190813'), np.nan, np.nan, np.nan])
106-
tm.assert_series_equal(result, expected)
123+
assert_series_equal(result, expected)
107124

108125
# NaN after integers with invalid date values, errors=coerce
109126
s = Series([20190813, 20010012, np.nan, 20019999])
110127
result = pd.to_datetime(s, format='%Y%m%d', errors='coerce',
111128
cache=cache)
112129
expected = Series([Timestamp('20190813'), np.nan, np.nan, np.nan])
113-
tm.assert_series_equal(result, expected)
114-
115-
# coercion
116-
# GH 7930
117-
s = Series([20121231, 20141231, 99991231])
118-
result = pd.to_datetime(s, format='%Y%m%d', errors='ignore',
119-
cache=cache)
120-
expected = Series([datetime(2012, 12, 31),
121-
datetime(2014, 12, 31), datetime(9999, 12, 31)],
122-
dtype=object)
123-
tm.assert_series_equal(result, expected)
124-
125-
result = pd.to_datetime(s, format='%Y%m%d', errors='coerce',
126-
cache=cache)
127-
expected = Series(['20121231', '20141231', 'NaT'], dtype='M8[ns]')
128130
assert_series_equal(result, expected)
129131

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

0 commit comments

Comments
 (0)