Skip to content

Commit 6a52912

Browse files
committed
test_timedelta_array
1 parent aef9662 commit 6a52912

File tree

3 files changed

+38
-4
lines changed

3 files changed

+38
-4
lines changed

pandas-stubs/core/algorithms.pyi

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,18 +39,19 @@ def unique(values: IntervalIndex[IntervalT]) -> IntervalIndex[IntervalT]: ...
3939
@overload
4040
def unique(values: PeriodIndex) -> PeriodIndex: ...
4141
@overload
42-
# switch to DatetimeIndex after Pandas 3.0
42+
# TODO: switch to DatetimeIndex after Pandas 3.0 pandas-dev/pandas#57064
4343
def unique(values: DatetimeIndex) -> np_1darray_dt | DatetimeIndex: ...
4444
@overload
45-
# switch to TimedeltaIndex after Pandas 3.0
45+
# TODO: switch to TimedeltaIndex after Pandas 3.0 pandas-dev/pandas#57064
4646
def unique(values: TimedeltaIndex) -> np_1darray_td: ...
4747
@overload
4848
# switch to Index[int] after Pandas 3.0
4949
def unique(values: RangeIndex) -> np_1darray_int64: ...
5050
@overload
5151
def unique(values: MultiIndex) -> np_ndarray: ...
5252
@overload
53-
def unique(values: Index) -> np_1darray | Index: ... # switch to Index after Pandas 3.0
53+
# TODO: switch to Index after Pandas 3.0 pandas-dev/pandas#57064
54+
def unique(values: Index) -> np_1darray | Index: ...
5455
@overload
5556
def unique(values: Categorical) -> Categorical: ...
5657

pandas-stubs/core/construction.pyi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ def array( # type: ignore[overload-overlap]
9898
) -> FloatingArray: ...
9999
@overload
100100
def array( # type: ignore[overload-overlap]
101-
data: (
101+
data: ( # TODO: merge the two Sequence's after 3.0 pandas-dev/pandas#57064
102102
Sequence[datetime | NaTType | None]
103103
| Sequence[np.datetime64 | NaTType | None]
104104
| np_ndarray_dt
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
from datetime import timedelta
2+
3+
import numpy as np
4+
import pandas as pd
5+
from pandas.core.arrays.timedeltas import TimedeltaArray
6+
from typing_extensions import assert_type
7+
8+
from tests import check
9+
10+
11+
def test_constructor() -> None:
12+
td = timedelta(2025, 11, 10)
13+
np_dt = np.timedelta64(td)
14+
check(assert_type(pd.array([td]), TimedeltaArray), TimedeltaArray)
15+
check(
16+
assert_type(pd.array([td, pd.Timedelta(td), np_dt]), TimedeltaArray),
17+
TimedeltaArray,
18+
)
19+
check(assert_type(pd.array([td, None]), TimedeltaArray), TimedeltaArray)
20+
check(assert_type(pd.array([td, pd.NaT, None]), TimedeltaArray), TimedeltaArray)
21+
22+
check(
23+
assert_type( # type: ignore[assert-type] # I do not understand
24+
pd.array(np.array([td], np.timedelta64)), TimedeltaArray
25+
),
26+
TimedeltaArray,
27+
)
28+
29+
check(assert_type(pd.array(pd.array([td])), TimedeltaArray), TimedeltaArray)
30+
31+
check(assert_type(pd.array(pd.Index([td])), TimedeltaArray), TimedeltaArray)
32+
33+
check(assert_type(pd.array(pd.Series([td])), TimedeltaArray), TimedeltaArray)

0 commit comments

Comments
 (0)