27 lines
961 B
Python
27 lines
961 B
Python
import zoneinfo
|
|
|
|
import numpy as np
|
|
import pytest
|
|
|
|
from pandas._libs.tslibs.tzconversion import tz_localize_to_utc
|
|
|
|
|
|
class TestTZLocalizeToUTC:
|
|
def test_tz_localize_to_utc_ambiguous_infer(self):
|
|
# val is a timestamp that is ambiguous when localized to US/Eastern
|
|
val = 1_320_541_200_000_000_000
|
|
vals = np.array([val, val - 1, val], dtype=np.int64)
|
|
|
|
with pytest.raises(ValueError, match="2011-11-06 01:00:00"):
|
|
tz_localize_to_utc(vals, zoneinfo.ZoneInfo("US/Eastern"), ambiguous="infer")
|
|
|
|
with pytest.raises(ValueError, match="are no repeated times"):
|
|
tz_localize_to_utc(
|
|
vals[:1], zoneinfo.ZoneInfo("US/Eastern"), ambiguous="infer"
|
|
)
|
|
|
|
vals[1] += 1
|
|
msg = "There are 2 dst switches when there should only be 1"
|
|
with pytest.raises(ValueError, match=msg):
|
|
tz_localize_to_utc(vals, zoneinfo.ZoneInfo("US/Eastern"), ambiguous="infer")
|