Skip to content

Commit ea546c4

Browse files
committed
tests
1 parent e626bce commit ea546c4

File tree

3 files changed

+37
-24
lines changed

3 files changed

+37
-24
lines changed

pandas-stubs/core/construction.pyi

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from collections.abc import Sequence
22
from typing import (
33
Any,
4+
Never,
45
overload,
56
)
67

@@ -23,7 +24,11 @@ from pandas._libs.tslibs.nattype import NaTType
2324
from pandas._libs.tslibs.timedeltas import Timedelta
2425
from pandas._libs.tslibs.timestamps import Timestamp
2526
from pandas._typing import (
26-
PandasBooleanDtypeArg,
27+
BooleanDtypeArg,
28+
FloatDtypeArg,
29+
IntDtypeArg,
30+
TimedeltaDtypeArg,
31+
TimestampDtypeArg,
2732
np_ndarray,
2833
np_ndarray_anyint,
2934
np_ndarray_bool,
@@ -36,12 +41,12 @@ from pandas.core.dtypes.dtypes import ExtensionDtype
3641

3742
@overload
3843
def array( # type: ignore[overload-overlap] # pyright: ignore[reportOverlappingOverload]
39-
data: Sequence[bool | np.bool | NAType | None] | np_ndarray_bool | BooleanArray,
40-
dtype: PandasBooleanDtypeArg | None = None,
44+
data: Sequence[Never] | Index[Never] | Series[Never],
45+
dtype: str | np.dtype | ExtensionDtype | None = None,
4146
copy: bool = True,
42-
) -> BooleanArray: ...
47+
) -> ExtensionArray: ...
4348
@overload
44-
def array( # type: ignore[overload-overlap] # pyright: ignore[reportOverlappingOverload]
49+
def array( # type: ignore[overload-overlap]
4550
data: Sequence[NAType | None],
4651
dtype: str | np.dtype | ExtensionDtype | None = None,
4752
copy: bool = True,
@@ -55,32 +60,21 @@ def array( # type: ignore[overload-overlap]
5560
| Index[bool]
5661
| Series[int]
5762
),
58-
dtype: str | np.dtype | ExtensionDtype | None = None,
63+
dtype: BooleanDtypeArg | None = None,
5964
copy: bool = True,
6065
) -> BooleanArray: ...
6166
@overload
6267
def array( # type: ignore[overload-overlap]
63-
data: (
64-
Sequence[int | np.integer | NAType | None]
65-
| np_ndarray_anyint
66-
| IntegerArray
67-
| Index[int]
68-
| RangeIndex
69-
| Series[int]
70-
),
71-
dtype: str | np.dtype | ExtensionDtype | None = None,
68+
data: Sequence[int | np.integer | NAType | None] | np_ndarray_anyint | IntegerArray,
69+
dtype: IntDtypeArg | None = None,
7270
copy: bool = True,
7371
) -> IntegerArray: ...
7472
@overload
7573
def array( # type: ignore[overload-overlap]
7674
data: (
77-
Sequence[float | np.floating | NAType | None]
78-
| np_ndarray_float
79-
| FloatingArray
80-
| Index[float]
81-
| Series[float]
75+
Sequence[float | np.floating | NAType | None] | np_ndarray_float | FloatingArray
8276
),
83-
dtype: str | np.dtype | ExtensionDtype | None = None,
77+
dtype: FloatDtypeArg | None = None,
8478
copy: bool = True,
8579
) -> FloatingArray: ...
8680
@overload
@@ -92,7 +86,7 @@ def array( # type: ignore[overload-overlap]
9286
| DatetimeIndex
9387
| Series[Timestamp]
9488
),
95-
dtype: str | np.dtype | ExtensionDtype | None = None,
89+
dtype: TimestampDtypeArg | None = None,
9690
copy: bool = True,
9791
) -> DatetimeArray: ...
9892
@overload
@@ -104,12 +98,18 @@ def array( # type: ignore[overload-overlap]
10498
| TimedeltaIndex
10599
| Series[Timedelta]
106100
),
107-
dtype: str | np.dtype | ExtensionDtype | None = None,
101+
dtype: TimedeltaDtypeArg | None = None,
108102
copy: bool = True,
109103
) -> TimedeltaArray: ...
110104
@overload
111105
def array(
112-
data: Sequence[Any] | np_ndarray | ExtensionArray | Index | Series,
106+
data: Sequence[object] | np.typing.NDArray[np.object_] | RangeIndex,
113107
dtype: str | np.dtype | ExtensionDtype | None = None,
114108
copy: bool = True,
115109
) -> NumpyExtensionArray: ...
110+
@overload
111+
def array(
112+
data: Sequence[Any] | np_ndarray | ExtensionArray | Index[Any] | Series[Any],
113+
dtype: str | np.dtype | ExtensionDtype | None = None,
114+
copy: bool = True,
115+
) -> ExtensionArray: ...

tests/arrays/test_boolean_arrays.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,7 @@ def test_construction() -> None:
1111
check(assert_type(pd.array([True, np.bool(True)]), BooleanArray), BooleanArray)
1212
check(assert_type(pd.array([True, None]), BooleanArray), BooleanArray)
1313
check(assert_type(pd.array([True, pd.NA]), BooleanArray), BooleanArray)
14+
15+
check(assert_type(pd.array(np.array([1], np.bool_)), BooleanArray), BooleanArray)
16+
17+
check(assert_type(pd.array(pd.array([True])), BooleanArray), BooleanArray)

tests/arrays/test_integer_arrays.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,12 @@ def test_construction() -> None:
1111
check(assert_type(pd.array([1, np.int64(1)]), IntegerArray), IntegerArray)
1212
check(assert_type(pd.array([1, None]), IntegerArray), IntegerArray)
1313
check(assert_type(pd.array([1, pd.NA, None]), IntegerArray), IntegerArray)
14+
15+
check(
16+
assert_type( # type: ignore[assert-type] # I do not understand
17+
pd.array(np.array([1], np.int64)), IntegerArray
18+
),
19+
IntegerArray,
20+
)
21+
22+
check(assert_type(pd.array(pd.array([1])), IntegerArray), IntegerArray)

0 commit comments

Comments
 (0)