Source code for gridstatus.tests.test_utils
import pandas as pd
import gridstatus
from gridstatus.utils import is_dst_end, is_today, is_yesterday
[docs]def test_is_dst_end():
date = pd.Timestamp("Nov 6, 2022", tz=gridstatus.NYISO.default_timezone)
assert is_dst_end(date)
assert not is_dst_end(date - pd.Timedelta("1 day"))
assert not is_dst_end(date + pd.Timedelta("1 day"))
# test start
dst_start = pd.Timestamp(
"Mar 13, 2022",
tz=gridstatus.NYISO.default_timezone,
)
assert not is_dst_end(dst_start)
[docs]def test_is_today():
utc_start_of_today = pd.Timestamp.utcnow().normalize()
assert not is_today(utc_start_of_today, tz="America/New_York")
assert not is_today(
utc_start_of_today + pd.Timedelta(hours=2),
tz="America/New_York",
)
assert is_today(utc_start_of_today + pd.Timedelta(hours=6), tz="America/New_York")
assert not is_today(
utc_start_of_today - pd.Timedelta(hours=6),
tz="America/New_York",
)
assert not is_today(utc_start_of_today, tz="America/Chicago")
assert not is_today(
utc_start_of_today + pd.Timedelta(hours=3),
tz="America/Chicago",
)
assert is_today(utc_start_of_today + pd.Timedelta(hours=6), tz="America/Chicago")
assert not is_today(
utc_start_of_today - pd.Timedelta(hours=5),
tz="America/Chicago",
)
[docs]def test_is_yesterday():
utc_start_of_yesterday = pd.Timestamp.utcnow().normalize() - pd.Timedelta("1 day")
assert not is_yesterday(utc_start_of_yesterday, tz="America/New_York")
assert not is_yesterday(
utc_start_of_yesterday + pd.Timedelta(hours=2),
tz="America/New_York",
)
assert is_yesterday(
utc_start_of_yesterday + pd.Timedelta(hours=6),
tz="America/New_York",
)
assert not is_yesterday(
utc_start_of_yesterday - pd.Timedelta(hours=6),
tz="America/New_York",
)
assert not is_yesterday(utc_start_of_yesterday, tz="America/Chicago")
assert not is_yesterday(
utc_start_of_yesterday + pd.Timedelta(hours=3),
tz="America/Chicago",
)
assert is_yesterday(
utc_start_of_yesterday + pd.Timedelta(hours=6),
tz="America/Chicago",
)
assert not is_yesterday(
utc_start_of_yesterday - pd.Timedelta(hours=5),
tz="America/Chicago",
)