|
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