@@ -19,25 +19,36 @@ def test_mul_py_scalar() -> None:
19
19
"""Test pd.Series[pd.Timedelta] * Python native scalars"""
20
20
b , i , f , c = True , 1 , 1.0 , 1j
21
21
22
- check (assert_type (left * b , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
22
+ # pandas-dev/pandas#62316
23
+ if PD_LTE_23 :
24
+ check (assert_type (left * b , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
23
25
check (assert_type (left * i , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
24
26
check (assert_type (left * f , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
25
27
if TYPE_CHECKING_INVALID_USAGE :
26
28
_0 = left * c # type: ignore[operator] # pyright: ignore[reportOperatorIssue]
27
29
28
- check (assert_type (b * left , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
30
+ if PD_LTE_23 :
31
+ check (assert_type (b * left , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
29
32
check (assert_type (i * left , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
30
33
check (assert_type (f * left , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
31
34
if TYPE_CHECKING_INVALID_USAGE :
32
35
_1 = c * left # type: ignore[operator] # pyright: ignore[reportOperatorIssue]
33
36
34
- check (assert_type (left .mul (b ), "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
37
+ if PD_LTE_23 :
38
+ check (
39
+ assert_type (left .mul (b ), "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta
40
+ )
35
41
check (assert_type (left .mul (i ), "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
36
42
check (assert_type (left .mul (f ), "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
37
43
if TYPE_CHECKING_INVALID_USAGE :
38
44
left .mul (c ) # type: ignore[call-overload] # pyright: ignore[reportArgumentType,reportCallIssue]
39
45
40
- check (assert_type (left .rmul (b ), "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
46
+ if PD_LTE_23 :
47
+ check (
48
+ assert_type (left .rmul (b ), "pd.Series[pd.Timedelta]" ),
49
+ pd .Series ,
50
+ pd .Timedelta ,
51
+ )
41
52
check (assert_type (left .rmul (i ), "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
42
53
check (assert_type (left .rmul (f ), "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
43
54
if TYPE_CHECKING_INVALID_USAGE :
@@ -48,25 +59,36 @@ def test_mul_py_sequence() -> None:
48
59
"""Test pd.Series[pd.Timedelta] * Python native sequences"""
49
60
b , i , f , c = [True ], [2 ], [1.5 ], [1.7j ]
50
61
51
- check (assert_type (left * b , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
62
+ # pandas-dev/pandas#62316
63
+ if PD_LTE_23 :
64
+ check (assert_type (left * b , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
52
65
check (assert_type (left * i , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
53
66
check (assert_type (left * f , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
54
67
if TYPE_CHECKING_INVALID_USAGE :
55
68
_0 = left * c # type: ignore[operator] # pyright: ignore[reportOperatorIssue]
56
69
57
- check (assert_type (b * left , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
70
+ if PD_LTE_23 :
71
+ check (assert_type (b * left , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
58
72
check (assert_type (i * left , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
59
73
check (assert_type (f * left , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
60
74
if TYPE_CHECKING_INVALID_USAGE :
61
75
_1 = c * left # type: ignore[operator] # pyright: ignore[reportOperatorIssue]
62
76
63
- check (assert_type (left .mul (b ), "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
77
+ if PD_LTE_23 :
78
+ check (
79
+ assert_type (left .mul (b ), "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta
80
+ )
64
81
check (assert_type (left .mul (i ), "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
65
82
check (assert_type (left .mul (f ), "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
66
83
if TYPE_CHECKING_INVALID_USAGE :
67
84
left .mul (c ) # type: ignore[arg-type] # pyright: ignore[reportArgumentType,reportCallIssue]
68
85
69
- check (assert_type (left .rmul (b ), "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
86
+ if PD_LTE_23 :
87
+ check (
88
+ assert_type (left .rmul (b ), "pd.Series[pd.Timedelta]" ),
89
+ pd .Series ,
90
+ pd .Timedelta ,
91
+ )
70
92
check (assert_type (left .rmul (i ), "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
71
93
check (assert_type (left .rmul (f ), "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
72
94
if TYPE_CHECKING_INVALID_USAGE :
@@ -80,7 +102,9 @@ def test_mul_numpy_array() -> None:
80
102
f = np .array ([1.5 ], np .float64 )
81
103
c = np .array ([1.7j ], np .complex128 )
82
104
83
- check (assert_type (left * b , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
105
+ # pandas-dev/pandas#62316
106
+ if PD_LTE_23 :
107
+ check (assert_type (left * b , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
84
108
check (assert_type (left * i , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
85
109
check (assert_type (left * f , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
86
110
if TYPE_CHECKING_INVALID_USAGE :
@@ -89,20 +113,29 @@ def test_mul_numpy_array() -> None:
89
113
# `numpy` typing gives the corresponding `ndarray`s in the static type
90
114
# checking, where our `__rmul__` cannot override. At runtime, they return
91
115
# `Series` with the correct element type.
92
- check (assert_type (b * left , "npt.NDArray[np.bool_]" ), pd .Series , pd .Timedelta )
116
+ if PD_LTE_23 :
117
+ check (assert_type (b * left , "npt.NDArray[np.bool_]" ), pd .Series , pd .Timedelta )
93
118
check (assert_type (i * left , "npt.NDArray[np.int64]" ), pd .Series , pd .Timedelta )
94
119
check (assert_type (f * left , "npt.NDArray[np.float64]" ), pd .Series , pd .Timedelta )
95
120
if TYPE_CHECKING_INVALID_USAGE :
96
121
# We made it Never, but numpy takes over
97
122
assert_type (c * left , "npt.NDArray[np.complex128]" )
98
123
99
- check (assert_type (left .mul (b ), "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
124
+ if PD_LTE_23 :
125
+ check (
126
+ assert_type (left .mul (b ), "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta
127
+ )
100
128
check (assert_type (left .mul (i ), "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
101
129
check (assert_type (left .mul (f ), "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
102
130
if TYPE_CHECKING_INVALID_USAGE :
103
131
left .mul (c ) # type: ignore[arg-type] # pyright: ignore[reportArgumentType,reportCallIssue]
104
132
105
- check (assert_type (left .rmul (b ), "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
133
+ if PD_LTE_23 :
134
+ check (
135
+ assert_type (left .rmul (b ), "pd.Series[pd.Timedelta]" ),
136
+ pd .Series ,
137
+ pd .Timedelta ,
138
+ )
106
139
check (assert_type (left .rmul (i ), "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
107
140
check (assert_type (left .rmul (f ), "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
108
141
if TYPE_CHECKING_INVALID_USAGE :
@@ -116,25 +149,36 @@ def test_mul_pd_index() -> None:
116
149
f = pd .Index ([1.5 ])
117
150
c = pd .Index ([1.7j ])
118
151
119
- check (assert_type (left * b , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
152
+ # pandas-dev/pandas#62316
153
+ if PD_LTE_23 :
154
+ check (assert_type (left * b , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
120
155
check (assert_type (left * i , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
121
156
check (assert_type (left * f , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
122
157
if TYPE_CHECKING_INVALID_USAGE :
123
158
_0 = left * c # type: ignore[operator] # pyright: ignore[reportOperatorIssue]
124
159
125
- check (assert_type (b * left , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
160
+ if PD_LTE_23 :
161
+ check (assert_type (b * left , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
126
162
check (assert_type (i * left , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
127
163
check (assert_type (f * left , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
128
164
if TYPE_CHECKING_INVALID_USAGE :
129
165
_1 = c * left # type: ignore[operator] # pyright: ignore[reportOperatorIssue]
130
166
131
- check (assert_type (left .mul (b ), "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
167
+ if PD_LTE_23 :
168
+ check (
169
+ assert_type (left .mul (b ), "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta
170
+ )
132
171
check (assert_type (left .mul (i ), "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
133
172
check (assert_type (left .mul (f ), "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
134
173
if TYPE_CHECKING_INVALID_USAGE :
135
174
left .mul (c ) # type: ignore[arg-type] # pyright: ignore[reportArgumentType,reportCallIssue]
136
175
137
- check (assert_type (left .rmul (b ), "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
176
+ if PD_LTE_23 :
177
+ check (
178
+ assert_type (left .rmul (b ), "pd.Series[pd.Timedelta]" ),
179
+ pd .Series ,
180
+ pd .Timedelta ,
181
+ )
138
182
check (assert_type (left .rmul (i ), "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
139
183
check (assert_type (left .rmul (f ), "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
140
184
if TYPE_CHECKING_INVALID_USAGE :
@@ -156,15 +200,13 @@ def test_mul_pd_series() -> None:
156
200
if TYPE_CHECKING_INVALID_USAGE :
157
201
_0 = left * c # type: ignore[operator] # pyright: ignore[reportOperatorIssue]
158
202
159
- # pandas-dev/pandas#62316
160
203
if PD_LTE_23 :
161
204
check (assert_type (b * left , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
162
205
check (assert_type (i * left , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
163
206
check (assert_type (f * left , "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta )
164
207
if TYPE_CHECKING_INVALID_USAGE :
165
208
_1 = c * left # type: ignore[operator] # pyright: ignore[reportOperatorIssue]
166
209
167
- # pandas-dev/pandas#62316
168
210
if PD_LTE_23 :
169
211
check (
170
212
assert_type (left .mul (b ), "pd.Series[pd.Timedelta]" ), pd .Series , pd .Timedelta
@@ -174,7 +216,6 @@ def test_mul_pd_series() -> None:
174
216
if TYPE_CHECKING_INVALID_USAGE :
175
217
left .mul (c ) # type: ignore[arg-type] # pyright: ignore[reportArgumentType,reportCallIssue]
176
218
177
- # pandas-dev/pandas#62316
178
219
if PD_LTE_23 :
179
220
check (
180
221
assert_type (left .rmul (b ), "pd.Series[pd.Timedelta]" ),
0 commit comments