From e402e7051e4ad9e9cc5bb419dd915739ff31f93e Mon Sep 17 00:00:00 2001 From: Marshall Date: Mon, 30 Sep 2024 02:08:56 -0400 Subject: [PATCH] fix: Separate temporal tests (#19012) --- py-polars/tests/unit/functions/test_lit.py | 46 +++++++++++++++------- 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a/py-polars/tests/unit/functions/test_lit.py b/py-polars/tests/unit/functions/test_lit.py index 8037d6d65f49..8046eeefad5d 100644 --- a/py-polars/tests/unit/functions/test_lit.py +++ b/py-polars/tests/unit/functions/test_lit.py @@ -197,21 +197,37 @@ def test_lit_decimal_parametric(s: pl.Series) -> None: assert result == value -@pytest.mark.parametrize( - ("dt_class", "input"), - [ - (date, (2024, 1, 1)), - (datetime, (2024, 1, 1)), - (timedelta, (1,)), - (time, (1,)), - ], -) -def test_lit_temporal_subclass_w_allow_object( - dt_class: type, input: tuple[int] -) -> None: - class MyClass(dt_class): # type: ignore[misc] +def test_lit_date_subclass() -> None: + class SubDate(date): + pass + + result = pl.select(a=pl.lit(SubDate(2024, 1, 1))) + expected = pl.DataFrame({"a": [date(2024, 1, 1)]}) + assert_frame_equal(result, expected) + + +def test_lit_datetime_subclass() -> None: + class SubDatetime(datetime): + pass + + result = pl.select(a=pl.lit(SubDatetime(2024, 1, 1))) + expected = pl.DataFrame({"a": [datetime(2024, 1, 1)]}) + assert_frame_equal(result, expected) + + +def test_lit_time_subclass() -> None: + class SubTime(time): + pass + + result = pl.select(a=pl.lit(SubTime(1))) + expected = pl.DataFrame({"a": [time(1)]}) + assert_frame_equal(result, expected) + + +def test_lit_timedelta_subclass() -> None: + class SubTimedelta(timedelta): pass - result = pl.select(a=pl.lit(MyClass(*input))) - expected = pl.DataFrame({"a": [dt_class(*input)]}) + result = pl.select(a=pl.lit(SubTimedelta(1))) + expected = pl.DataFrame({"a": [timedelta(1)]}) assert_frame_equal(result, expected)