Skip to content

Commit 74a8e95

Browse files
committed
added suggested testcases
1 parent cf4119d commit 74a8e95

File tree

1 file changed

+22
-20
lines changed

1 file changed

+22
-20
lines changed

pandas/tests/tools/test_to_datetime.py

+22-20
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,28 @@ def test_to_datetime_format_YYYYMMDD_overflow(self, input_s, expected):
177177
result = to_datetime(input_s, format="%Y%m%d", errors="coerce")
178178
tm.assert_series_equal(result, expected)
179179

180+
@pytest.mark.parametrize(
181+
"data, format, expected",
182+
[
183+
([pd.NA], "%Y%m%d%H%M%S", DatetimeIndex(["NaT"])),
184+
([pd.NA], None, DatetimeIndex(["NaT"])),
185+
(
186+
[pd.NA, "20210202202020"],
187+
"%Y%m%d%H%M%S",
188+
DatetimeIndex(["NaT", "2021-02-02 20:20:20"]),
189+
),
190+
(["201010", pd.NA], "%y%m%d", DatetimeIndex(["2020-10-10", "NaT"])),
191+
(["201010", pd.NA], "%d%m%y", DatetimeIndex(["2010-10-20", "NaT"])),
192+
(["201010", pd.NA], None, DatetimeIndex(["2010-10-20", "NaT"])),
193+
([None, np.nan, pd.NA], None, DatetimeIndex(["NaT", "NaT", "NaT"])),
194+
([None, np.nan, pd.NA], "%Y%m%d", DatetimeIndex(["NaT", "NaT", "NaT"])),
195+
],
196+
)
197+
def test_to_datetime_with_NA(self, data, format, expected):
198+
# GH#42957
199+
result = to_datetime(data, format=format)
200+
tm.assert_index_equal(result, expected)
201+
180202
@pytest.mark.parametrize("cache", [True, False])
181203
def test_to_datetime_format_integer(self, cache):
182204
# GH 10178
@@ -383,26 +405,6 @@ def test_to_datetime_parse_timezone_keeps_name(self):
383405
expected = DatetimeIndex(["2010-01-01 12:00:00"], tz="UTC", name="foo")
384406
tm.assert_index_equal(result, expected)
385407

386-
@pytest.mark.parametrize(
387-
"data, format, expected",
388-
[
389-
([pd.NA], "%Y%m%d%H%M%S", DatetimeIndex(["NaT"])),
390-
([pd.NA], None, DatetimeIndex(["NaT"])),
391-
(
392-
[pd.NA, "20210202202020"],
393-
"%Y%m%d%H%M%S",
394-
DatetimeIndex(["NaT", "2021-02-02 20:20:20"]),
395-
),
396-
(["201010", pd.NA], "%y%m%d", DatetimeIndex(["2020-10-10", "NaT"])),
397-
(["201010", pd.NA], "%d%m%y", DatetimeIndex(["2010-10-20", "NaT"])),
398-
(["201010", pd.NA], None, DatetimeIndex(["2010-10-20", "NaT"])),
399-
],
400-
)
401-
def test_to_datetime_with_pdNA(self, data, format, expected):
402-
# GH#42957
403-
result = to_datetime(data, format=format)
404-
tm.assert_index_equal(result, expected)
405-
406408

407409
class TestToDatetime:
408410
@pytest.mark.parametrize(

0 commit comments

Comments
 (0)