aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/python-dateutil/py3/tests/property/test_isoparse_prop.py
diff options
context:
space:
mode:
authorrobot-piglet <robot-piglet@yandex-team.com>2024-03-17 22:28:00 +0300
committerrobot-piglet <robot-piglet@yandex-team.com>2024-03-17 22:39:34 +0300
commitdfe0e4b5acdf479f3e41e710c58218b6baf04f0e (patch)
tree8759ce1beac8d933782615b0209e78577b51eaed /contrib/python/python-dateutil/py3/tests/property/test_isoparse_prop.py
parenta6dc0df43db569e4122947dbfeb7d013432300d4 (diff)
downloadydb-dfe0e4b5acdf479f3e41e710c58218b6baf04f0e.tar.gz
Intermediate changes
Diffstat (limited to 'contrib/python/python-dateutil/py3/tests/property/test_isoparse_prop.py')
-rw-r--r--contrib/python/python-dateutil/py3/tests/property/test_isoparse_prop.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/contrib/python/python-dateutil/py3/tests/property/test_isoparse_prop.py b/contrib/python/python-dateutil/py3/tests/property/test_isoparse_prop.py
new file mode 100644
index 0000000000..f8e288f3d6
--- /dev/null
+++ b/contrib/python/python-dateutil/py3/tests/property/test_isoparse_prop.py
@@ -0,0 +1,27 @@
+from hypothesis import given, assume
+from hypothesis import strategies as st
+
+from dateutil import tz
+from dateutil.parser import isoparse
+
+import pytest
+
+# Strategies
+TIME_ZONE_STRATEGY = st.sampled_from([None, tz.UTC] +
+ [tz.gettz(zname) for zname in ('US/Eastern', 'US/Pacific',
+ 'Australia/Sydney', 'Europe/London')])
+ASCII_STRATEGY = st.characters(max_codepoint=127)
+
+
+@pytest.mark.isoparser
+@given(dt=st.datetimes(timezones=TIME_ZONE_STRATEGY), sep=ASCII_STRATEGY)
+def test_timespec_auto(dt, sep):
+ if dt.tzinfo is not None:
+ # Assume offset has no sub-second components
+ assume(dt.utcoffset().total_seconds() % 60 == 0)
+
+ sep = str(sep) # Python 2.7 requires bytes
+ dtstr = dt.isoformat(sep=sep)
+ dt_rt = isoparse(dtstr)
+
+ assert dt_rt == dt