Skip to content

Commit 4fc9c94

Browse files
committed
test with null
1 parent 7d73981 commit 4fc9c94

File tree

1 file changed

+8
-11
lines changed

1 file changed

+8
-11
lines changed

tests/expr_and_series/str/to_datetime_test.py

+8-11
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
from __future__ import annotations
22

3+
from datetime import datetime
34
from typing import TYPE_CHECKING
45

56
import pyarrow as pa
67
import pytest
78

89
import narwhals.stable.v1 as nw
910
from narwhals._arrow.utils import parse_datetime_format
11+
from tests.utils import assert_equal_data
1012

1113
if TYPE_CHECKING:
1214
from tests.utils import Constructor
@@ -74,28 +76,23 @@ def test_to_datetime_series_infer_fmt(constructor_eager: ConstructorEager) -> No
7476

7577

7678
def test_to_datetime_infer_fmt_from_date(constructor: Constructor) -> None:
77-
data = {"z": ["2020-01-01", "2020-01-02"]}
78-
if "cudf" in str(constructor): # pragma: no cover
79-
expected = "2020-01-01T00:00:00.000000000"
80-
else:
81-
expected = "2020-01-01 00:00:00"
79+
data = {"z": ["2020-01-01", "2020-01-02", None]}
80+
expected = [datetime(2020, 1, 1), datetime(2020, 1, 2), None]
8281
result = (
8382
nw.from_native(constructor(data))
8483
.lazy()
85-
.select(y=nw.col("z").str.to_datetime())
84+
.select(nw.col("z").str.to_datetime())
8685
.collect()
87-
.item(row=0, column="y")
8886
)
89-
assert str(result) == expected
87+
assert_equal_data(result, {"z": expected})
9088

9189

92-
@pytest.mark.parametrize("data", [["2024-01-01", "abc"], ["2024-01-01", None]])
93-
def test_pyarrow_infer_datetime_raise_invalid(data: list[str | None]) -> None:
90+
def test_pyarrow_infer_datetime_raise_invalid() -> None:
9491
with pytest.raises(
9592
NotImplementedError,
9693
match="Unable to infer datetime format, provided format is not supported.",
9794
):
98-
parse_datetime_format(pa.chunked_array([data]))
95+
parse_datetime_format(pa.chunked_array([["2024-01-01", "abc"]]))
9996

10097

10198
@pytest.mark.parametrize(

0 commit comments

Comments
 (0)