|
3 | 3 | ) |
4 | 4 |
|
5 | 5 | import numpy as np |
6 | | -import pandas as pd |
7 | 6 | from pandas.core.arrays import DatetimeArray |
8 | 7 | from pandas.core.arrays.base import ExtensionArray |
| 8 | +from pandas.core.arrays.categorical import Categorical |
9 | 9 | from pandas.core.arrays.interval import IntervalArray |
10 | 10 | from pandas.core.arrays.timedeltas import TimedeltaArray |
| 11 | +from pandas.core.frame import DataFrame |
11 | 12 | from pandas.core.indexes.accessors import ( |
12 | 13 | DatetimeProperties, |
13 | 14 | PeriodProperties, |
14 | 15 | Properties, |
15 | 16 | TimedeltaProperties, |
16 | 17 | ) |
| 18 | +from pandas.core.indexes.interval import interval_range |
| 19 | +from pandas.core.indexes.period import period_range |
| 20 | +from pandas.core.series import Series |
17 | 21 | from typing_extensions import assert_type |
18 | 22 |
|
| 23 | +from pandas._libs.interval import Interval |
| 24 | +from pandas._libs.tslibs.timedeltas import Timedelta |
| 25 | +from pandas._libs.tslibs.timestamps import Timestamp |
| 26 | + |
19 | 27 | from tests import ( |
20 | 28 | TYPE_CHECKING_INVALID_USAGE, |
21 | 29 | check, |
|
25 | 33 | from pandas.core.indexes.accessors import TimestampProperties # noqa: F401 |
26 | 34 |
|
27 | 35 |
|
28 | | -def test_dt_property() -> None: |
| 36 | +def test_property_dt() -> None: |
29 | 37 | """Test the Series.dt property""" |
30 | 38 | check( |
31 | | - assert_type(pd.Series([pd.Timestamp(2025, 9, 28)]).dt, "TimestampProperties"), |
| 39 | + assert_type(Series([Timestamp(2025, 9, 28)]).dt, "TimestampProperties"), |
32 | 40 | DatetimeProperties, |
33 | 41 | ) |
34 | 42 | check( |
35 | | - assert_type(pd.Series([pd.Timedelta(1, "s")]).dt, TimedeltaProperties), |
| 43 | + assert_type(Series([Timedelta(1, "s")]).dt, TimedeltaProperties), |
36 | 44 | TimedeltaProperties, |
37 | 45 | ) |
38 | 46 | check( |
39 | 47 | assert_type( |
40 | | - pd.period_range(start="2022-06-01", periods=10).to_series().dt, |
| 48 | + period_range(start="2022-06-01", periods=10).to_series().dt, |
41 | 49 | PeriodProperties, |
42 | 50 | ), |
43 | 51 | PeriodProperties, |
44 | 52 | ) |
45 | 53 |
|
46 | 54 | if TYPE_CHECKING_INVALID_USAGE: |
47 | | - s = pd.DataFrame({"a": [1]})["a"] |
| 55 | + s = DataFrame({"a": [1]})["a"] |
48 | 56 | # python/mypy#19952: mypy believes Properties and its subclasses have a |
49 | 57 | # conflict and gives Any for s.dt |
50 | 58 | assert_type(s.dt, Properties) # type: ignore[assert-type] |
51 | | - _1 = pd.Series([1]).dt # type: ignore[arg-type] # pyright: ignore[reportAttributeAccessIssue] |
| 59 | + _1 = Series([1]).dt # type: ignore[arg-type] # pyright: ignore[reportAttributeAccessIssue] |
52 | 60 |
|
53 | 61 |
|
54 | | -def test_array_property() -> None: |
| 62 | +def test_property_array() -> None: |
55 | 63 | """Test that Series.array returns ExtensionArray and its subclasses""" |
56 | 64 | check( |
57 | | - assert_type( |
58 | | - pd.Series([1], dtype="category").array, |
59 | | - pd.Categorical, |
60 | | - ), |
61 | | - pd.Categorical, |
62 | | - int, |
| 65 | + assert_type(Series([1], dtype="category").array, Categorical), Categorical, int |
63 | 66 | ) |
64 | 67 | check( |
65 | | - assert_type(pd.Series(pd.interval_range(0, 1)).array, IntervalArray), |
| 68 | + assert_type(Series(interval_range(0, 1)).array, IntervalArray), |
66 | 69 | IntervalArray, |
67 | | - pd.Interval, |
| 70 | + Interval, |
68 | 71 | ) |
69 | 72 | check( |
70 | | - assert_type(pd.Series([pd.Timestamp(2025, 9, 28)]).array, DatetimeArray), |
| 73 | + assert_type(Series([Timestamp(2025, 9, 28)]).array, DatetimeArray), |
71 | 74 | DatetimeArray, |
72 | | - pd.Timestamp, |
| 75 | + Timestamp, |
73 | 76 | ) |
74 | 77 | check( |
75 | | - assert_type(pd.Series([pd.Timedelta(1, "s")]).array, TimedeltaArray), |
| 78 | + assert_type(Series([Timedelta(1, "s")]).array, TimedeltaArray), |
76 | 79 | TimedeltaArray, |
77 | | - pd.Timedelta, |
| 80 | + Timedelta, |
78 | 81 | ) |
79 | | - check(assert_type(pd.Series([1]).array, ExtensionArray), ExtensionArray, np.integer) |
| 82 | + check(assert_type(Series([1]).array, ExtensionArray), ExtensionArray, np.integer) |
80 | 83 | # python/mypy#19952: mypy believes ExtensionArray and its subclasses have a |
81 | 84 | # conflict and gives Any for s.array |
82 | | - check(assert_type(pd.Series([1, "s"]).array, ExtensionArray), ExtensionArray) # type: ignore[assert-type] |
| 85 | + check(assert_type(Series([1, "s"]).array, ExtensionArray), ExtensionArray) # type: ignore[assert-type] |
0 commit comments