Skip to content

Commit 55c05ee

Browse files
committed
tests
1 parent 1273747 commit 55c05ee

File tree

3 files changed

+38
-31
lines changed

3 files changed

+38
-31
lines changed

pandas-stubs/core/construction.pyi

Lines changed: 25 additions & 31 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

@@ -24,6 +25,10 @@ from pandas._libs.tslibs.timedeltas import Timedelta
2425
from pandas._libs.tslibs.timestamps import Timestamp
2526
from pandas._typing import (
2627
BooleanDtypeArg,
28+
FloatDtypeArg,
29+
IntDtypeArg,
30+
TimedeltaDtypeArg,
31+
TimestampDtypeArg,
2732
np_ndarray,
2833
np_ndarray_anyint,
2934
np_ndarray_bool,
@@ -36,51 +41,34 @@ from pandas.core.dtypes.dtypes import ExtensionDtype
3641

3742
@overload
3843
def array( # type: ignore[overload-overlap] # pyright: ignore[reportOverlappingOverload]
39-
data: Sequence[bool | NAType | None],
40-
dtype: BooleanDtypeArg | 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,
4853
) -> NumpyExtensionArray: ...
4954
@overload
50-
def array( # type: ignore[overload-overlap] # pyright: ignore[reportOverlappingOverload]
51-
data: (
52-
Sequence[bool | np.bool | NAType | None]
53-
| np_ndarray_bool
54-
| BooleanArray
55-
| Index[bool]
56-
| Series[int]
57-
),
58-
dtype: str | np.dtype | ExtensionDtype | None = None,
55+
def array( # type: ignore[overload-overlap]
56+
data: Sequence[bool | np.bool | NAType | None] | np_ndarray_bool | BooleanArray,
57+
dtype: BooleanDtypeArg | None = None,
5958
copy: bool = True,
6059
) -> BooleanArray: ...
6160
@overload
6261
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,
62+
data: Sequence[int | np.integer | NAType | None] | np_ndarray_anyint | IntegerArray,
63+
dtype: IntDtypeArg | None = None,
7264
copy: bool = True,
7365
) -> IntegerArray: ...
7466
@overload
7567
def array( # type: ignore[overload-overlap]
7668
data: (
77-
Sequence[float | np.floating | NAType | None]
78-
| np_ndarray_float
79-
| FloatingArray
80-
| Index[float]
81-
| Series[float]
69+
Sequence[float | np.floating | NAType | None] | np_ndarray_float | FloatingArray
8270
),
83-
dtype: str | np.dtype | ExtensionDtype | None = None,
71+
dtype: FloatDtypeArg | None = None,
8472
copy: bool = True,
8573
) -> FloatingArray: ...
8674
@overload
@@ -92,7 +80,7 @@ def array( # type: ignore[overload-overlap]
9280
| DatetimeIndex
9381
| Series[Timestamp]
9482
),
95-
dtype: str | np.dtype | ExtensionDtype | None = None,
83+
dtype: TimestampDtypeArg | None = None,
9684
copy: bool = True,
9785
) -> DatetimeArray: ...
9886
@overload
@@ -104,12 +92,18 @@ def array( # type: ignore[overload-overlap]
10492
| TimedeltaIndex
10593
| Series[Timedelta]
10694
),
107-
dtype: str | np.dtype | ExtensionDtype | None = None,
95+
dtype: TimedeltaDtypeArg | None = None,
10896
copy: bool = True,
10997
) -> TimedeltaArray: ...
11098
@overload
11199
def array(
112-
data: Sequence[Any] | np_ndarray | ExtensionArray | Index | Series,
100+
data: Sequence[object] | np.typing.NDArray[np.object_] | RangeIndex,
113101
dtype: str | np.dtype | ExtensionDtype | None = None,
114102
copy: bool = True,
115103
) -> NumpyExtensionArray: ...
104+
@overload
105+
def array(
106+
data: Sequence[Any] | np_ndarray | ExtensionArray | Index[Any] | Series[Any],
107+
dtype: str | np.dtype | ExtensionDtype | None = None,
108+
copy: bool = True,
109+
) -> 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)