1234567891011121314151617181920212223242526272829303132333435 |
- from datetime import datetime, timedelta
- import pytest
- import six
- from hypothesis import assume, given
- from hypothesis import strategies as st
- from dateutil import tz as tz
- EPOCHALYPSE = datetime.fromtimestamp(2147483647)
- NEGATIVE_EPOCHALYPSE = datetime.fromtimestamp(0) - timedelta(seconds=2147483648)
- @pytest.mark.gettz
- @pytest.mark.parametrize("gettz_arg", [None, ""])
- # TODO: Remove bounds when GH #590 is resolved
- @given(
- dt=st.datetimes(
- min_value=NEGATIVE_EPOCHALYPSE, max_value=EPOCHALYPSE, timezones=st.just(tz.UTC),
- )
- )
- def test_gettz_returns_local(gettz_arg, dt):
- act_tz = tz.gettz(gettz_arg)
- if isinstance(act_tz, tz.tzlocal):
- return
- dt_act = dt.astimezone(tz.gettz(gettz_arg))
- if six.PY2:
- dt_exp = dt.astimezone(tz.tzlocal())
- else:
- dt_exp = dt.astimezone()
- assert dt_act == dt_exp
- assert dt_act.tzname() == dt_exp.tzname()
- assert dt_act.utcoffset() == dt_exp.utcoffset()
|