|
17 | 17 |
|
18 | 18 | # TODO: github.com/pandas-dev/pandas/issues/55023
|
19 | 19 | import pytest
|
20 |
| -from typing_extensions import assert_type |
| 20 | +from typing_extensions import ( |
| 21 | + Never, |
| 22 | + assert_type, |
| 23 | +) |
21 | 24 |
|
22 | 25 | from pandas._libs.missing import NAType
|
23 | 26 | from pandas._libs.tslibs import NaTType
|
@@ -51,17 +54,25 @@ def test_types_to_datetime() -> None:
|
51 | 54 |
|
52 | 55 | def test_types_concat_none() -> None:
|
53 | 56 | """Test concatenation with None values."""
|
54 |
| - s1: pd.Series | None = None |
55 |
| - s2: pd.Series = pd.Series([7, -5, 10]) |
56 |
| - |
57 |
| - check(assert_type(pd.concat([s1, s2]), pd.Series), pd.Series) |
| 57 | + series = pd.Series([7, -5, 10]) |
| 58 | + df = pd.DataFrame({"a": [7, -5, 10]}) |
58 | 59 |
|
59 |
| - df1: pd.DataFrame | None = None |
60 |
| - df2: pd.DataFrame = pd.DataFrame({"a": [7, -5, 10]}) |
| 60 | + check(assert_type(pd.concat([None, series]), pd.Series), pd.Series) |
| 61 | + check(assert_type(pd.concat([None, df]), pd.DataFrame), pd.DataFrame) |
| 62 | + check( |
| 63 | + assert_type(pd.concat([None, series, df], axis=1), pd.DataFrame), pd.DataFrame |
| 64 | + ) |
61 | 65 |
|
62 |
| - check(assert_type(pd.concat([df1, df2]), pd.DataFrame), pd.DataFrame) |
| 66 | + check(assert_type(pd.concat({"a": None, "b": series}), pd.Series), pd.Series) |
| 67 | + check(assert_type(pd.concat({"a": None, "b": df}), pd.DataFrame), pd.DataFrame) |
| 68 | + check( |
| 69 | + assert_type(pd.concat({"a": None, "b": series, "c": df}, axis=1), pd.DataFrame), |
| 70 | + pd.DataFrame, |
| 71 | + ) |
63 | 72 |
|
64 |
| - check(assert_type(pd.concat([s1, df1, df2]), pd.DataFrame), pd.DataFrame) |
| 73 | + if TYPE_CHECKING_INVALID_USAGE: |
| 74 | + assert_type(pd.concat({"a": None}), Never) |
| 75 | + assert_type(pd.concat([None]), Never) |
65 | 76 |
|
66 | 77 |
|
67 | 78 | def test_types_concat() -> None:
|
|
0 commit comments