Skip to content

Commit d72ce2d

Browse files
committed
test: Use assert_type and runtime checks
1 parent 6f56dc0 commit d72ce2d

File tree

1 file changed

+51
-42
lines changed

1 file changed

+51
-42
lines changed

tests/translate/from_native_test.py

Lines changed: 51 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@
1919

2020
from __future__ import annotations
2121

22-
# mypy: disallow-any-generics=false
22+
# Using pyright's assert type instead
23+
# mypy: disallow-any-generics=false, disable-error-code="assert-type"
2324
from contextlib import nullcontext as does_not_raise
2425
from importlib.util import find_spec
2526
from itertools import chain
@@ -457,13 +458,15 @@ def test_from_native_eager_only_series_only_allow() -> None: # noqa: PLR0914, P
457458
pytest.importorskip("polars")
458459
pytest.importorskip("pandas")
459460
pytest.importorskip("pyarrow")
461+
pytest.importorskip("typing_extensions")
460462
import pandas as pd
461463
import polars as pl
462464
import pyarrow as pa
465+
from typing_extensions import assert_type
463466

464467
pl_ser = pl.Series([1, 2, 3])
465-
pd_ser = pd.Series([1, 2, 3])
466-
pa_ser = pa.chunked_array([pa.array([1])])
468+
pd_ser = cast("pd.Series[Any]", pd.Series([1, 2, 3]))
469+
pa_ser = cast("pa.ChunkedArray[Any]", pa.chunked_array([pa.array([1])])) # type: ignore[redundant-cast]
467470

468471
pl_1 = nw.from_native(pl_ser, series_only=True)
469472
pl_2 = nw.from_native(pl_ser, allow_series=True)
@@ -479,19 +482,20 @@ def test_from_native_eager_only_series_only_allow() -> None: # noqa: PLR0914, P
479482
)
480483
pl_11 = nw.from_native(pl_ser, eager_only=True, allow_series=True, pass_through=True)
481484
pl_12 = nw.from_native(pl_ser, series_only=True, allow_series=True, pass_through=True)
482-
483-
assert isinstance(pl_1, nw.Series)
484-
assert isinstance(pl_2, nw.Series)
485-
assert isinstance(pl_3, nw.Series)
486-
assert isinstance(pl_4, nw.Series)
487-
assert isinstance(pl_5, nw.Series)
488-
assert isinstance(pl_6, nw.Series)
489-
assert isinstance(pl_7, nw.Series)
490-
assert isinstance(pl_8, nw.Series)
491-
assert isinstance(pl_9, nw.Series)
492-
assert isinstance(pl_10, nw.Series)
493-
assert isinstance(pl_11, nw.Series)
494-
assert isinstance(pl_12, nw.Series)
485+
pls = pl_1, pl_2, pl_3, pl_4, pl_5, pl_6, pl_7, pl_8, pl_9, pl_10, pl_11, pl_12
486+
487+
assert_type(pl_1, nw.Series[pl.Series])
488+
assert_type(pl_2, nw.Series[pl.Series])
489+
assert_type(pl_3, nw.Series[pl.Series])
490+
assert_type(pl_4, nw.Series[pl.Series])
491+
assert_type(pl_5, nw.Series[pl.Series])
492+
assert_type(pl_6, nw.Series[pl.Series])
493+
assert_type(pl_7, nw.Series[pl.Series])
494+
assert_type(pl_8, nw.Series[pl.Series])
495+
assert_type(pl_9, nw.Series[pl.Series])
496+
assert_type(pl_10, nw.Series[pl.Series])
497+
assert_type(pl_11, nw.Series[pl.Series])
498+
assert_type(pl_12, nw.Series[pl.Series])
495499

496500
pd_1 = nw.from_native(pd_ser, series_only=True)
497501
pd_2 = nw.from_native(pd_ser, allow_series=True)
@@ -507,19 +511,20 @@ def test_from_native_eager_only_series_only_allow() -> None: # noqa: PLR0914, P
507511
)
508512
pd_11 = nw.from_native(pd_ser, eager_only=True, allow_series=True, pass_through=True)
509513
pd_12 = nw.from_native(pd_ser, series_only=True, allow_series=True, pass_through=True)
510-
511-
assert isinstance(pd_1, nw.Series)
512-
assert isinstance(pd_2, nw.Series)
513-
assert isinstance(pd_3, nw.Series)
514-
assert isinstance(pd_4, nw.Series)
515-
assert isinstance(pd_5, nw.Series)
516-
assert isinstance(pd_6, nw.Series)
517-
assert isinstance(pd_7, nw.Series)
518-
assert isinstance(pd_8, nw.Series)
519-
assert isinstance(pd_9, nw.Series)
520-
assert isinstance(pd_10, nw.Series)
521-
assert isinstance(pd_11, nw.Series)
522-
assert isinstance(pd_12, nw.Series)
514+
pds = pd_1, pd_2, pd_3, pd_4, pd_5, pd_6, pd_7, pd_8, pd_9, pd_10, pd_11, pd_12
515+
516+
assert_type(pd_1, nw.Series["pd.Series[Any]"])
517+
assert_type(pd_2, nw.Series["pd.Series[Any]"])
518+
assert_type(pd_3, nw.Series["pd.Series[Any]"])
519+
assert_type(pd_4, nw.Series["pd.Series[Any]"])
520+
assert_type(pd_5, nw.Series["pd.Series[Any]"])
521+
assert_type(pd_6, nw.Series["pd.Series[Any]"])
522+
assert_type(pd_7, nw.Series["pd.Series[Any]"])
523+
assert_type(pd_8, nw.Series["pd.Series[Any]"])
524+
assert_type(pd_9, nw.Series["pd.Series[Any]"])
525+
assert_type(pd_10, nw.Series["pd.Series[Any]"])
526+
assert_type(pd_11, nw.Series["pd.Series[Any]"])
527+
assert_type(pd_12, nw.Series["pd.Series[Any]"])
523528

524529
pa_1 = nw.from_native(pa_ser, series_only=True)
525530
pa_2 = nw.from_native(pa_ser, allow_series=True)
@@ -535,16 +540,20 @@ def test_from_native_eager_only_series_only_allow() -> None: # noqa: PLR0914, P
535540
)
536541
pa_11 = nw.from_native(pa_ser, eager_only=True, allow_series=True, pass_through=True)
537542
pa_12 = nw.from_native(pa_ser, series_only=True, allow_series=True, pass_through=True)
538-
539-
assert isinstance(pa_1, nw.Series)
540-
assert isinstance(pa_2, nw.Series)
541-
assert isinstance(pa_3, nw.Series)
542-
assert isinstance(pa_4, nw.Series)
543-
assert isinstance(pa_5, nw.Series)
544-
assert isinstance(pa_6, nw.Series)
545-
assert isinstance(pa_7, nw.Series)
546-
assert isinstance(pa_8, nw.Series)
547-
assert isinstance(pa_9, nw.Series)
548-
assert isinstance(pa_10, nw.Series)
549-
assert isinstance(pa_11, nw.Series)
550-
assert isinstance(pa_12, nw.Series)
543+
pas = pa_1, pa_2, pa_3, pa_4, pa_5, pa_6, pa_7, pa_8, pa_9, pa_10, pa_11, pa_12
544+
545+
assert_type(pa_1, nw.Series["pa.ChunkedArray[Any]"])
546+
assert_type(pa_2, nw.Series["pa.ChunkedArray[Any]"])
547+
assert_type(pa_3, nw.Series["pa.ChunkedArray[Any]"])
548+
assert_type(pa_4, nw.Series["pa.ChunkedArray[Any]"])
549+
assert_type(pa_5, nw.Series["pa.ChunkedArray[Any]"])
550+
assert_type(pa_6, nw.Series["pa.ChunkedArray[Any]"])
551+
assert_type(pa_7, nw.Series["pa.ChunkedArray[Any]"])
552+
assert_type(pa_8, nw.Series["pa.ChunkedArray[Any]"])
553+
assert_type(pa_9, nw.Series["pa.ChunkedArray[Any]"])
554+
assert_type(pa_10, nw.Series["pa.ChunkedArray[Any]"])
555+
assert_type(pa_11, nw.Series["pa.ChunkedArray[Any]"])
556+
assert_type(pa_12, nw.Series["pa.ChunkedArray[Any]"])
557+
558+
for series in chain(pls, pds, pas):
559+
assert isinstance(series, nw.Series)

0 commit comments

Comments
 (0)