You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
953 B
24 lines
953 B
1 year ago
|
import numpy as np
|
||
|
import pytest
|
||
|
import pytz
|
||
|
|
||
|
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(pytz.AmbiguousTimeError, match="2011-11-06 01:00:00"):
|
||
|
tz_localize_to_utc(vals, pytz.timezone("US/Eastern"), ambiguous="infer")
|
||
|
|
||
|
with pytest.raises(pytz.AmbiguousTimeError, match="are no repeated times"):
|
||
|
tz_localize_to_utc(vals[:1], pytz.timezone("US/Eastern"), ambiguous="infer")
|
||
|
|
||
|
vals[1] += 1
|
||
|
msg = "There are 2 dst switches when there should only be 1"
|
||
|
with pytest.raises(pytz.AmbiguousTimeError, match=msg):
|
||
|
tz_localize_to_utc(vals, pytz.timezone("US/Eastern"), ambiguous="infer")
|