|
1 | 1 | from __future__ import annotations
|
2 | 2 |
|
| 3 | +import datetime |
3 | 4 | from pathlib import Path
|
4 | 5 | import re
|
5 | 6 | import tempfile
|
@@ -948,3 +949,72 @@ def test_series_overloads_extract():
|
948 | 949 | assert_type(s.str.extract(r"[ab](\d)", re.IGNORECASE, False), pd.Series),
|
949 | 950 | pd.Series,
|
950 | 951 | )
|
| 952 | + |
| 953 | + |
| 954 | +def test_relops() -> None: |
| 955 | + # GH 175 |
| 956 | + s: str = "abc" |
| 957 | + check(assert_type(pd.Series([s]) > s, "pd.Series[bool]"), pd.Series, bool) |
| 958 | + check(assert_type(pd.Series([s]) < s, "pd.Series[bool]"), pd.Series, bool) |
| 959 | + check(assert_type(pd.Series([s]) <= s, "pd.Series[bool]"), pd.Series, bool) |
| 960 | + check(assert_type(pd.Series([s]) >= s, "pd.Series[bool]"), pd.Series, bool) |
| 961 | + |
| 962 | + b: bytes = b"def" |
| 963 | + check(assert_type(pd.Series([b]) > b, "pd.Series[bool]"), pd.Series, bool) |
| 964 | + check(assert_type(pd.Series([b]) < b, "pd.Series[bool]"), pd.Series, bool) |
| 965 | + check(assert_type(pd.Series([b]) <= b, "pd.Series[bool]"), pd.Series, bool) |
| 966 | + check(assert_type(pd.Series([b]) >= b, "pd.Series[bool]"), pd.Series, bool) |
| 967 | + |
| 968 | + dtd = datetime.date(2022, 7, 31) |
| 969 | + check(assert_type(pd.Series([dtd]) > dtd, "pd.Series[bool]"), pd.Series, bool) |
| 970 | + check(assert_type(pd.Series([dtd]) < dtd, "pd.Series[bool]"), pd.Series, bool) |
| 971 | + check(assert_type(pd.Series([dtd]) <= dtd, "pd.Series[bool]"), pd.Series, bool) |
| 972 | + check(assert_type(pd.Series([dtd]) >= dtd, "pd.Series[bool]"), pd.Series, bool) |
| 973 | + |
| 974 | + dtdt = datetime.datetime(2022, 7, 31, 8, 32, 21) |
| 975 | + check(assert_type(pd.Series([dtdt]) > dtdt, "pd.Series[bool]"), pd.Series, bool) |
| 976 | + check(assert_type(pd.Series([dtdt]) < dtdt, "pd.Series[bool]"), pd.Series, bool) |
| 977 | + check(assert_type(pd.Series([dtdt]) <= dtdt, "pd.Series[bool]"), pd.Series, bool) |
| 978 | + check(assert_type(pd.Series([dtdt]) >= dtdt, "pd.Series[bool]"), pd.Series, bool) |
| 979 | + |
| 980 | + dttd = datetime.timedelta(seconds=10) |
| 981 | + check(assert_type(pd.Series([dttd]) > dttd, "pd.Series[bool]"), pd.Series, bool) |
| 982 | + check(assert_type(pd.Series([dttd]) < dttd, "pd.Series[bool]"), pd.Series, bool) |
| 983 | + check(assert_type(pd.Series([dttd]) <= dttd, "pd.Series[bool]"), pd.Series, bool) |
| 984 | + check(assert_type(pd.Series([dttd]) >= dttd, "pd.Series[bool]"), pd.Series, bool) |
| 985 | + |
| 986 | + bo: bool = True |
| 987 | + check(assert_type(pd.Series([bo]) > bo, "pd.Series[bool]"), pd.Series, bool) |
| 988 | + check(assert_type(pd.Series([bo]) < bo, "pd.Series[bool]"), pd.Series, bool) |
| 989 | + check(assert_type(pd.Series([bo]) <= bo, "pd.Series[bool]"), pd.Series, bool) |
| 990 | + check(assert_type(pd.Series([bo]) >= bo, "pd.Series[bool]"), pd.Series, bool) |
| 991 | + |
| 992 | + ai: int = 10 |
| 993 | + check(assert_type(pd.Series([ai]) > ai, "pd.Series[bool]"), pd.Series, bool) |
| 994 | + check(assert_type(pd.Series([ai]) < ai, "pd.Series[bool]"), pd.Series, bool) |
| 995 | + check(assert_type(pd.Series([ai]) <= ai, "pd.Series[bool]"), pd.Series, bool) |
| 996 | + check(assert_type(pd.Series([ai]) >= ai, "pd.Series[bool]"), pd.Series, bool) |
| 997 | + |
| 998 | + af: float = 3.14 |
| 999 | + check(assert_type(pd.Series([af]) > af, "pd.Series[bool]"), pd.Series, bool) |
| 1000 | + check(assert_type(pd.Series([af]) < af, "pd.Series[bool]"), pd.Series, bool) |
| 1001 | + check(assert_type(pd.Series([af]) <= af, "pd.Series[bool]"), pd.Series, bool) |
| 1002 | + check(assert_type(pd.Series([af]) >= af, "pd.Series[bool]"), pd.Series, bool) |
| 1003 | + |
| 1004 | + ac: complex = 1 + 2j |
| 1005 | + check(assert_type(pd.Series([ac]) > ac, "pd.Series[bool]"), pd.Series, bool) |
| 1006 | + check(assert_type(pd.Series([ac]) < ac, "pd.Series[bool]"), pd.Series, bool) |
| 1007 | + check(assert_type(pd.Series([ac]) <= ac, "pd.Series[bool]"), pd.Series, bool) |
| 1008 | + check(assert_type(pd.Series([ac]) >= ac, "pd.Series[bool]"), pd.Series, bool) |
| 1009 | + |
| 1010 | + ts = pd.Timestamp("2022-07-31 08:35:12") |
| 1011 | + check(assert_type(pd.Series([ts]) > ts, "pd.Series[bool]"), pd.Series, bool) |
| 1012 | + check(assert_type(pd.Series([ts]) < ts, "pd.Series[bool]"), pd.Series, bool) |
| 1013 | + check(assert_type(pd.Series([ts]) <= ts, "pd.Series[bool]"), pd.Series, bool) |
| 1014 | + check(assert_type(pd.Series([ts]) >= ts, "pd.Series[bool]"), pd.Series, bool) |
| 1015 | + |
| 1016 | + td = pd.Timedelta(seconds=10) |
| 1017 | + check(assert_type(pd.Series([td]) > td, "pd.Series[bool]"), pd.Series, bool) |
| 1018 | + check(assert_type(pd.Series([td]) < td, "pd.Series[bool]"), pd.Series, bool) |
| 1019 | + check(assert_type(pd.Series([td]) <= td, "pd.Series[bool]"), pd.Series, bool) |
| 1020 | + check(assert_type(pd.Series([td]) >= td, "pd.Series[bool]"), pd.Series, bool) |
0 commit comments