Skip to content

Commit 44c5c93

Browse files
committed
TST: Add tests for timedelta
1 parent e62cc10 commit 44c5c93

File tree

2 files changed

+330
-6
lines changed

2 files changed

+330
-6
lines changed

pandas-stubs/_libs/tslibs/timedeltas.pyi

+18-6
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ from datetime import timedelta
22
from typing import (
33
ClassVar,
44
Literal,
5+
NamedTuple,
56
TypeVar,
67
Union,
78
overload,
@@ -11,11 +12,21 @@ import numpy as np
1112
from typing_extensions import TypeAlias
1213

1314
from pandas._libs.tslibs import (
15+
BaseOffset,
1416
NaTType,
1517
Tick,
1618
)
1719
from pandas._typing import npt
1820

21+
class Components(NamedTuple):
22+
days: int
23+
hours: int
24+
minutes: int
25+
seconds: int
26+
milliseconds: int
27+
microseconds: int
28+
nanoseconds: int
29+
1930
# This should be kept consistent with the keys in the dict timedelta_abbrevs
2031
# in pandas/_libs/tslibs/timedeltas.pyx
2132
TimeDeltaUnitChoices: TypeAlias = Literal[
@@ -106,6 +117,8 @@ class Timedelta(timedelta):
106117
@property
107118
def days(self) -> int: ...
108119
@property
120+
def nanoseconds(self) -> int: ...
121+
@property
109122
def seconds(self) -> int: ...
110123
@property
111124
def microseconds(self) -> int: ...
@@ -115,9 +128,9 @@ class Timedelta(timedelta):
115128
@property
116129
def asm8(self) -> np.timedelta64: ...
117130
# TODO: round/floor/ceil could return NaT?
118-
def round(self: _S, freq: str) -> _S: ...
119-
def floor(self: _S, freq: str) -> _S: ...
120-
def ceil(self: _S, freq: str) -> _S: ...
131+
def round(self: _S, freq: str | BaseOffset) -> _S: ...
132+
def floor(self: _S, freq: str | BaseOffset) -> _S: ...
133+
def ceil(self: _S, freq: str | BaseOffset) -> _S: ...
121134
@property
122135
def resolution_string(self) -> str: ...
123136
def __add__(self, other: timedelta) -> Timedelta: ...
@@ -162,6 +175,5 @@ class Timedelta(timedelta):
162175
def isoformat(self) -> str: ...
163176
def to_numpy(self) -> np.timedelta64: ...
164177
@property
165-
def freq(self) -> None: ...
166-
@property
167-
def is_populated(self) -> bool: ...
178+
def components(self) -> Components: ...
179+
def view(self, dtype: npt.DTypeLike = ...) -> object: ...

tests/test_timefuncs.py

+312
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
from pandas._libs import NaTType
2020
from pandas._libs.tslibs import BaseOffset
21+
from pandas._libs.tslibs.timedeltas import Components
2122

2223
from pandas.tseries.offsets import (
2324
BusinessDay,
@@ -1155,3 +1156,314 @@ def test_period() -> None:
11551156

11561157
check(assert_type(p.strftime("%Y-%m-%d"), str), str)
11571158
check(assert_type(hash(p), int), int)
1159+
1160+
1161+
def test_timedelta() -> None:
1162+
check(assert_type(pd.Timedelta(1, "W"), pd.Timedelta), pd.Timedelta)
1163+
check(assert_type(pd.Timedelta(1, "w"), pd.Timedelta), pd.Timedelta)
1164+
check(assert_type(pd.Timedelta(1, "D"), pd.Timedelta), pd.Timedelta)
1165+
check(assert_type(pd.Timedelta(1, "d"), pd.Timedelta), pd.Timedelta)
1166+
check(assert_type(pd.Timedelta(1, "days"), pd.Timedelta), pd.Timedelta)
1167+
check(assert_type(pd.Timedelta(1, "day"), pd.Timedelta), pd.Timedelta)
1168+
check(assert_type(pd.Timedelta(1, "hours"), pd.Timedelta), pd.Timedelta)
1169+
check(assert_type(pd.Timedelta(1, "hour"), pd.Timedelta), pd.Timedelta)
1170+
check(assert_type(pd.Timedelta(1, "hr"), pd.Timedelta), pd.Timedelta)
1171+
check(assert_type(pd.Timedelta(1, "h"), pd.Timedelta), pd.Timedelta)
1172+
check(assert_type(pd.Timedelta(1, "m"), pd.Timedelta), pd.Timedelta)
1173+
check(assert_type(pd.Timedelta(1, "minute"), pd.Timedelta), pd.Timedelta)
1174+
check(assert_type(pd.Timedelta(1, "min"), pd.Timedelta), pd.Timedelta)
1175+
check(assert_type(pd.Timedelta(1, "minutes"), pd.Timedelta), pd.Timedelta)
1176+
check(assert_type(pd.Timedelta(1, "t"), pd.Timedelta), pd.Timedelta)
1177+
check(assert_type(pd.Timedelta(1, "s"), pd.Timedelta), pd.Timedelta)
1178+
check(assert_type(pd.Timedelta(1, "seconds"), pd.Timedelta), pd.Timedelta)
1179+
check(assert_type(pd.Timedelta(1, "sec"), pd.Timedelta), pd.Timedelta)
1180+
check(assert_type(pd.Timedelta(1, "second"), pd.Timedelta), pd.Timedelta)
1181+
check(assert_type(pd.Timedelta(1, "ms"), pd.Timedelta), pd.Timedelta)
1182+
check(assert_type(pd.Timedelta(1, "milliseconds"), pd.Timedelta), pd.Timedelta)
1183+
check(assert_type(pd.Timedelta(1, "millisecond"), pd.Timedelta), pd.Timedelta)
1184+
check(assert_type(pd.Timedelta(1, "milli"), pd.Timedelta), pd.Timedelta)
1185+
check(assert_type(pd.Timedelta(1, "millis"), pd.Timedelta), pd.Timedelta)
1186+
check(assert_type(pd.Timedelta(1, "l"), pd.Timedelta), pd.Timedelta)
1187+
check(assert_type(pd.Timedelta(1, "us"), pd.Timedelta), pd.Timedelta)
1188+
check(assert_type(pd.Timedelta(1, "microseconds"), pd.Timedelta), pd.Timedelta)
1189+
check(assert_type(pd.Timedelta(1, "microsecond"), pd.Timedelta), pd.Timedelta)
1190+
check(assert_type(pd.Timedelta(1, "µs"), pd.Timedelta), pd.Timedelta)
1191+
check(assert_type(pd.Timedelta(1, "micro"), pd.Timedelta), pd.Timedelta)
1192+
check(assert_type(pd.Timedelta(1, "micros"), pd.Timedelta), pd.Timedelta)
1193+
check(assert_type(pd.Timedelta(1, "u"), pd.Timedelta), pd.Timedelta)
1194+
check(assert_type(pd.Timedelta(1, "ns"), pd.Timedelta), pd.Timedelta)
1195+
check(assert_type(pd.Timedelta(1, "nanoseconds"), pd.Timedelta), pd.Timedelta)
1196+
check(assert_type(pd.Timedelta(1, "nano"), pd.Timedelta), pd.Timedelta)
1197+
check(assert_type(pd.Timedelta(1, "nanos"), pd.Timedelta), pd.Timedelta)
1198+
check(assert_type(pd.Timedelta(1, "nanosecond"), pd.Timedelta), pd.Timedelta)
1199+
check(assert_type(pd.Timedelta(1, "n"), pd.Timedelta), pd.Timedelta)
1200+
1201+
check(assert_type(pd.Timedelta("1 W"), pd.Timedelta), pd.Timedelta)
1202+
check(assert_type(pd.Timedelta("1 w"), pd.Timedelta), pd.Timedelta)
1203+
check(assert_type(pd.Timedelta("1 D"), pd.Timedelta), pd.Timedelta)
1204+
check(assert_type(pd.Timedelta("1 d"), pd.Timedelta), pd.Timedelta)
1205+
check(assert_type(pd.Timedelta("1 days"), pd.Timedelta), pd.Timedelta)
1206+
check(assert_type(pd.Timedelta("1 day"), pd.Timedelta), pd.Timedelta)
1207+
check(assert_type(pd.Timedelta("1 hours"), pd.Timedelta), pd.Timedelta)
1208+
check(assert_type(pd.Timedelta("1 hour"), pd.Timedelta), pd.Timedelta)
1209+
check(assert_type(pd.Timedelta("1 hr"), pd.Timedelta), pd.Timedelta)
1210+
check(assert_type(pd.Timedelta("1 h"), pd.Timedelta), pd.Timedelta)
1211+
check(assert_type(pd.Timedelta("1 m"), pd.Timedelta), pd.Timedelta)
1212+
check(assert_type(pd.Timedelta("1 minute"), pd.Timedelta), pd.Timedelta)
1213+
check(assert_type(pd.Timedelta("1 min"), pd.Timedelta), pd.Timedelta)
1214+
check(assert_type(pd.Timedelta("1 minutes"), pd.Timedelta), pd.Timedelta)
1215+
check(assert_type(pd.Timedelta("1 t"), pd.Timedelta), pd.Timedelta)
1216+
check(assert_type(pd.Timedelta("1 s"), pd.Timedelta), pd.Timedelta)
1217+
check(assert_type(pd.Timedelta("1 seconds"), pd.Timedelta), pd.Timedelta)
1218+
check(assert_type(pd.Timedelta("1 sec"), pd.Timedelta), pd.Timedelta)
1219+
check(assert_type(pd.Timedelta("1 second"), pd.Timedelta), pd.Timedelta)
1220+
check(assert_type(pd.Timedelta("1 ms"), pd.Timedelta), pd.Timedelta)
1221+
check(assert_type(pd.Timedelta("1 milliseconds"), pd.Timedelta), pd.Timedelta)
1222+
check(assert_type(pd.Timedelta("1 millisecond"), pd.Timedelta), pd.Timedelta)
1223+
check(assert_type(pd.Timedelta("1 milli"), pd.Timedelta), pd.Timedelta)
1224+
check(assert_type(pd.Timedelta("1 millis"), pd.Timedelta), pd.Timedelta)
1225+
check(assert_type(pd.Timedelta("1 l"), pd.Timedelta), pd.Timedelta)
1226+
check(assert_type(pd.Timedelta("1 us"), pd.Timedelta), pd.Timedelta)
1227+
check(assert_type(pd.Timedelta("1 microseconds"), pd.Timedelta), pd.Timedelta)
1228+
check(assert_type(pd.Timedelta("1 microsecond"), pd.Timedelta), pd.Timedelta)
1229+
check(assert_type(pd.Timedelta("1 µs"), pd.Timedelta), pd.Timedelta)
1230+
check(assert_type(pd.Timedelta("1 micro"), pd.Timedelta), pd.Timedelta)
1231+
check(assert_type(pd.Timedelta("1 micros"), pd.Timedelta), pd.Timedelta)
1232+
check(assert_type(pd.Timedelta("1 u"), pd.Timedelta), pd.Timedelta)
1233+
check(assert_type(pd.Timedelta("1 ns"), pd.Timedelta), pd.Timedelta)
1234+
check(assert_type(pd.Timedelta("1 nanoseconds"), pd.Timedelta), pd.Timedelta)
1235+
check(assert_type(pd.Timedelta("1 nano"), pd.Timedelta), pd.Timedelta)
1236+
check(assert_type(pd.Timedelta("1 nanos"), pd.Timedelta), pd.Timedelta)
1237+
check(assert_type(pd.Timedelta("1 nanosecond"), pd.Timedelta), pd.Timedelta)
1238+
check(assert_type(pd.Timedelta("1 n"), pd.Timedelta), pd.Timedelta)
1239+
check(assert_type(pd.Timedelta(days=1), pd.Timedelta), pd.Timedelta)
1240+
check(assert_type(pd.Timedelta(seconds=1), pd.Timedelta), pd.Timedelta)
1241+
check(assert_type(pd.Timedelta(microseconds=1), pd.Timedelta), pd.Timedelta)
1242+
check(assert_type(pd.Timedelta(minutes=1), pd.Timedelta), pd.Timedelta)
1243+
check(assert_type(pd.Timedelta(hours=1), pd.Timedelta), pd.Timedelta)
1244+
check(assert_type(pd.Timedelta(weeks=1), pd.Timedelta), pd.Timedelta)
1245+
check(assert_type(pd.Timedelta(milliseconds=1), pd.Timedelta), pd.Timedelta)
1246+
1247+
td = pd.Timedelta("1 day")
1248+
check(assert_type(td.value, int), int)
1249+
check(assert_type(td.asm8, np.timedelta64), np.timedelta64)
1250+
1251+
check(assert_type(td.days, int), int)
1252+
check(assert_type(td.microseconds, int), int)
1253+
check(assert_type(td.nanoseconds, int), int)
1254+
check(assert_type(td.seconds, int), int)
1255+
check(assert_type(td.value, int), int)
1256+
check(assert_type(td.resolution_string, str), str)
1257+
check(assert_type(td.components, Components), Components)
1258+
1259+
check(assert_type(td.ceil("D"), pd.Timedelta), pd.Timedelta)
1260+
check(assert_type(td.floor(Day()), pd.Timedelta), pd.Timedelta)
1261+
check(assert_type(td.isoformat(), str), str)
1262+
check(assert_type(td.round("s"), pd.Timedelta), pd.Timedelta)
1263+
check(assert_type(td.to_numpy(), np.timedelta64), np.timedelta64)
1264+
check(assert_type(td.to_pytimedelta(), dt.timedelta), dt.timedelta)
1265+
check(assert_type(td.to_timedelta64(), np.timedelta64), np.timedelta64)
1266+
check(assert_type(td.total_seconds(), float), float)
1267+
check(assert_type(td.view(np.int64), object), np.int64)
1268+
check(assert_type(td.view("i8"), object), np.int64)
1269+
1270+
check(assert_type(td + pd.Period("2012-01-01", freq="D"), pd.Period), pd.Period)
1271+
check(assert_type(td + pd.Timestamp("2012-01-01"), pd.Timestamp), pd.Timestamp)
1272+
check(assert_type(td + dt.datetime(2012, 1, 1), pd.Timestamp), pd.Timestamp)
1273+
check(assert_type(td + dt.date(2012, 1, 1), dt.date), dt.date)
1274+
check(assert_type(td + np.datetime64(1, "ns"), pd.Timestamp), pd.Timestamp)
1275+
check(assert_type(td + dt.timedelta(days=1), pd.Timedelta), pd.Timedelta)
1276+
check(assert_type(td + np.timedelta64(1, "D"), pd.Timedelta), pd.Timedelta)
1277+
check(
1278+
assert_type(
1279+
td + pd.period_range("2012-01-01", periods=3, freq="D"), pd.PeriodIndex
1280+
),
1281+
pd.PeriodIndex,
1282+
)
1283+
check(
1284+
assert_type(td + pd.date_range("2012-01-01", periods=3), pd.DatetimeIndex),
1285+
pd.DatetimeIndex,
1286+
)
1287+
check(
1288+
assert_type(td + np.array([1, 2, 3], dtype="timedelta64[D]"), np.ndarray),
1289+
np.ndarray,
1290+
)
1291+
check(
1292+
assert_type(td + np.array([1, 2, 3], dtype="datetime64[ns]"), np.ndarray),
1293+
np.ndarray,
1294+
)
1295+
1296+
check(assert_type(td - td, pd.Timedelta), pd.Timedelta)
1297+
check(assert_type(td - dt.timedelta(days=1), pd.Timedelta), pd.Timedelta)
1298+
check(assert_type(td - np.timedelta64(1, "D"), pd.Timedelta), pd.Timedelta)
1299+
check(
1300+
assert_type(td - np.array([1, 2, 3], dtype="timedelta64[D]"), np.ndarray),
1301+
np.ndarray,
1302+
)
1303+
# check(assert_type(td - pd.Period("2012-01-01", freq="D"), pd.Period), pd.Period)
1304+
# check(assert_type(td - pd.Timestamp("2012-01-01"), pd.Timestamp), pd.Timestamp)
1305+
# check(assert_type(td - dt.datetime(2012, 1, 1), pd.Timestamp), pd.Timestamp)
1306+
# check(assert_type(td - dt.date(2012, 1, 1), dt.date), dt.date)
1307+
# check(assert_type(td - np.datetime64(1,"ns"),pd.Timestamp), pd.Timestamp)
1308+
# check(assert_type(td - pd.period_range("2012-01-01", periods=3, freq="D"), pd.PeriodIndex), pd.PeriodIndex)
1309+
# check(assert_type(td - pd.date_range("2012-01-01", periods=3), pd.DatetimeIndex),pd.DatetimeIndex)
1310+
# check(assert_type(td - np.array([1, 2, 3], dtype="datetime64[ns]"),np.ndarray), np.ndarray)
1311+
1312+
check(assert_type(pd.Period("2012-01-01", freq="D") - td, pd.Period), pd.Period)
1313+
check(assert_type(pd.Timestamp("2012-01-01") - td, pd.Timestamp), pd.Timestamp)
1314+
check(assert_type(dt.datetime(2012, 1, 1) - td, dt.datetime), dt.datetime)
1315+
check(assert_type(dt.date(2012, 1, 1) - td, dt.date), dt.date)
1316+
check(assert_type(np.datetime64(1, "ns") - td, pd.Timestamp), pd.Timestamp)
1317+
check(assert_type(dt.timedelta(days=1) - td, pd.Timedelta), pd.Timedelta)
1318+
check(assert_type(np.timedelta64(1, "D") - td, pd.Timedelta), pd.Timedelta)
1319+
check(
1320+
assert_type(
1321+
pd.period_range("2012-01-01", periods=3, freq="D") - td, pd.PeriodIndex
1322+
),
1323+
pd.PeriodIndex,
1324+
)
1325+
check(
1326+
assert_type(pd.date_range("2012-01-01", periods=3) - td, pd.DatetimeIndex),
1327+
pd.DatetimeIndex,
1328+
)
1329+
check(
1330+
assert_type(np.array([1, 2, 3], dtype="timedelta64[D]") - td, np.ndarray),
1331+
np.ndarray,
1332+
)
1333+
check(
1334+
assert_type(np.array([1, 2, 3], dtype="datetime64[ns]") - td, np.ndarray),
1335+
np.ndarray,
1336+
)
1337+
1338+
check(assert_type(td * 3, pd.Timedelta), pd.Timedelta)
1339+
check(assert_type(td * 3.5, pd.Timedelta), pd.Timedelta)
1340+
check(assert_type(td * np.array([1, 2, 3]), np.ndarray), np.ndarray)
1341+
check(assert_type(td * np.array([1.2, 2.2, 3.4]), np.ndarray), np.ndarray)
1342+
check(assert_type(td * pd.Series([1, 2, 3]), pd.Series), pd.Series)
1343+
check(assert_type(td * pd.Series([1.2, 2.2, 3.4]), pd.Series), pd.Series)
1344+
check(assert_type(td * pd.Index([1, 2, 3]), pd.TimedeltaIndex), pd.TimedeltaIndex)
1345+
check(
1346+
assert_type(td * pd.Index([1.2, 2.2, 3.4]), pd.TimedeltaIndex),
1347+
pd.TimedeltaIndex,
1348+
)
1349+
1350+
check(assert_type(td // td, int), int)
1351+
check(assert_type(td // 3, pd.Timedelta), pd.Timedelta)
1352+
check(assert_type(td // 3.5, pd.Timedelta), pd.Timedelta)
1353+
check(assert_type(td // np.array([1, 2, 3]), np.ndarray), np.ndarray)
1354+
check(assert_type(td // np.array([1.2, 2.2, 3.4]), np.ndarray), np.ndarray)
1355+
check(assert_type(td // pd.Series([1, 2, 3]), pd.Series), pd.Series)
1356+
check(assert_type(td // pd.Series([1.2, 2.2, 3.4]), pd.Series), pd.Series)
1357+
check(assert_type(td // pd.Index([1, 2, 3]), pd.TimedeltaIndex), pd.TimedeltaIndex)
1358+
check(
1359+
assert_type(td // pd.Index([1.2, 2.2, 3.4]), pd.TimedeltaIndex),
1360+
pd.TimedeltaIndex,
1361+
)
1362+
1363+
check(assert_type(td / td, float), float)
1364+
check(assert_type(td / 3, pd.Timedelta), pd.Timedelta)
1365+
check(assert_type(td / 3.5, pd.Timedelta), pd.Timedelta)
1366+
check(assert_type(td / np.array([1, 2, 3]), np.ndarray), np.ndarray)
1367+
check(assert_type(td / np.array([1.2, 2.2, 3.4]), np.ndarray), np.ndarray)
1368+
check(assert_type(td / pd.Series([1, 2, 3]), pd.Series), pd.Series)
1369+
check(assert_type(td / pd.Series([1.2, 2.2, 3.4]), pd.Series), pd.Series)
1370+
check(assert_type(td / pd.Index([1, 2, 3]), pd.TimedeltaIndex), pd.TimedeltaIndex)
1371+
check(
1372+
assert_type(td / pd.Index([1.2, 2.2, 3.4]), pd.TimedeltaIndex),
1373+
pd.TimedeltaIndex,
1374+
)
1375+
1376+
check(assert_type(td % 3, pd.Timedelta), pd.Timedelta)
1377+
check(assert_type(td % 3.5, pd.Timedelta), pd.Timedelta)
1378+
check(assert_type(td % td, pd.Timedelta), pd.Timedelta)
1379+
check(assert_type(td % np.array([1, 2, 3]), np.ndarray), np.ndarray)
1380+
check(assert_type(td % np.array([1.2, 2.2, 3.4]), np.ndarray), np.ndarray)
1381+
check(assert_type(td % pd.Series([1, 2, 3]), pd.Series), pd.Series)
1382+
check(assert_type(td % pd.Series([1.2, 2.2, 3.4]), pd.Series), pd.Series)
1383+
check(assert_type(td % pd.Index([1, 2, 3]), pd.TimedeltaIndex), pd.TimedeltaIndex)
1384+
check(
1385+
assert_type(td % pd.Index([1.2, 2.2, 3.4]), pd.TimedeltaIndex),
1386+
pd.TimedeltaIndex,
1387+
)
1388+
1389+
check(assert_type(abs(td), pd.Timedelta), pd.Timedelta)
1390+
check(assert_type(-td, pd.Timedelta), pd.Timedelta)
1391+
check(assert_type(+td, pd.Timedelta), pd.Timedelta)
1392+
1393+
check(assert_type(td < td, bool), bool)
1394+
check(assert_type(td < dt.timedelta(days=1), bool), bool)
1395+
check(assert_type(td < np.timedelta64(1, "D"), bool), bool)
1396+
check(
1397+
assert_type(td < np.array([1, 2, 3], dtype="timedelta64[D]"), np.ndarray),
1398+
np.ndarray,
1399+
)
1400+
check(
1401+
assert_type(td < pd.TimedeltaIndex([1, 2, 3], unit="D"), np.ndarray), np.ndarray
1402+
)
1403+
1404+
check(assert_type(td > td, bool), bool)
1405+
check(assert_type(td > dt.timedelta(days=1), bool), bool)
1406+
check(assert_type(td > np.timedelta64(1, "D"), bool), bool)
1407+
check(
1408+
assert_type(td > np.array([1, 2, 3], dtype="timedelta64[D]"), np.ndarray),
1409+
np.ndarray,
1410+
)
1411+
check(
1412+
assert_type(td > pd.TimedeltaIndex([1, 2, 3], unit="D"), np.ndarray), np.ndarray
1413+
)
1414+
1415+
check(assert_type(td <= td, bool), bool)
1416+
check(assert_type(td <= dt.timedelta(days=1), bool), bool)
1417+
check(assert_type(td <= np.timedelta64(1, "D"), bool), bool)
1418+
check(
1419+
assert_type(td <= np.array([1, 2, 3], dtype="timedelta64[D]"), np.ndarray),
1420+
np.ndarray,
1421+
)
1422+
check(
1423+
assert_type(td <= pd.TimedeltaIndex([1, 2, 3], unit="D"), np.ndarray),
1424+
np.ndarray,
1425+
)
1426+
1427+
check(assert_type(td >= td, bool), bool)
1428+
check(assert_type(td >= dt.timedelta(days=1), bool), bool)
1429+
check(assert_type(td >= np.timedelta64(1, "D"), bool), bool)
1430+
check(
1431+
assert_type(td >= np.array([1, 2, 3], dtype="timedelta64[D]"), np.ndarray),
1432+
np.ndarray,
1433+
)
1434+
check(
1435+
assert_type(td >= pd.TimedeltaIndex([1, 2, 3], unit="D"), np.ndarray),
1436+
np.ndarray,
1437+
)
1438+
1439+
check(assert_type(td == td, bool), bool)
1440+
check(assert_type(td == dt.timedelta(days=1), bool), bool)
1441+
check(assert_type(td == np.timedelta64(1, "D"), bool), bool)
1442+
check(
1443+
assert_type(td == np.array([1, 2, 3], dtype="timedelta64[D]"), np.ndarray),
1444+
np.ndarray,
1445+
)
1446+
check(
1447+
assert_type(td == pd.TimedeltaIndex([1, 2, 3], unit="D"), np.ndarray),
1448+
np.ndarray,
1449+
)
1450+
check(assert_type(td == pd.Series([1, 2, 3]), pd.Series), pd.Series)
1451+
check(assert_type(td == pd.Timestamp("2016-01-01"), bool), bool)
1452+
check(assert_type(td == 1, bool), bool)
1453+
check(assert_type(td == (3 + 2j), bool), bool)
1454+
1455+
check(assert_type(td != td, bool), bool)
1456+
check(assert_type(td != dt.timedelta(days=1), bool), bool)
1457+
check(assert_type(td != np.timedelta64(1, "D"), bool), bool)
1458+
check(
1459+
assert_type(td != np.array([1, 2, 3], dtype="timedelta64[D]"), np.ndarray),
1460+
np.ndarray,
1461+
)
1462+
check(
1463+
assert_type(td != pd.TimedeltaIndex([1, 2, 3], unit="D"), np.ndarray),
1464+
np.ndarray,
1465+
)
1466+
check(assert_type(td != pd.Series([1, 2, 3]), pd.Series), pd.Series)
1467+
check(assert_type(td != pd.Timestamp("2016-01-01"), bool), bool)
1468+
check(assert_type(td != 1, bool), bool)
1469+
check(assert_type(td != (3 + 2j), bool), bool)

0 commit comments

Comments
 (0)