summaryrefslogtreecommitdiffstats
path: root/tests/benchmarks/test_parse_8601.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/benchmarks/test_parse_8601.py')
-rw-r--r--tests/benchmarks/test_parse_8601.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/benchmarks/test_parse_8601.py b/tests/benchmarks/test_parse_8601.py
new file mode 100644
index 0000000..1f838a8
--- /dev/null
+++ b/tests/benchmarks/test_parse_8601.py
@@ -0,0 +1,51 @@
+from __future__ import annotations
+
+import pytest
+
+from pendulum.parsing.iso8601 import parse_iso8601
+
+
+@pytest.mark.benchmark(group="Parsing")
+def test_parse_iso8601() -> None:
+ # Date
+ parse_iso8601("2016")
+ parse_iso8601("2016-10")
+ parse_iso8601("2016-10-06")
+ parse_iso8601("20161006")
+
+ # Time
+ parse_iso8601("201610")
+
+ # Datetime
+ parse_iso8601("2016-10-06T12:34:56.123456")
+ parse_iso8601("2016-10-06T12:34:56.123")
+ parse_iso8601("2016-10-06T12:34:56.000123")
+ parse_iso8601("2016-10-06T12")
+ parse_iso8601("2016-10-06T123456")
+ parse_iso8601("2016-10-06T123456.123456")
+ parse_iso8601("20161006T123456.123456")
+ parse_iso8601("20161006 123456.123456")
+
+ # Datetime with offset
+ parse_iso8601("2016-10-06T12:34:56.123456+05:30")
+ parse_iso8601("2016-10-06T12:34:56.123456+0530")
+ parse_iso8601("2016-10-06T12:34:56.123456-05:30")
+ parse_iso8601("2016-10-06T12:34:56.123456-0530")
+ parse_iso8601("2016-10-06T12:34:56.123456+05")
+ parse_iso8601("2016-10-06T12:34:56.123456-05")
+ parse_iso8601("20161006T123456,123456-05")
+ parse_iso8601("2016-10-06T12:34:56.123456789+05:30")
+
+ # Ordinal date
+ parse_iso8601("2012-007")
+ parse_iso8601("2012007")
+ parse_iso8601("2017-079")
+
+ # Week date
+ parse_iso8601("2012-W05")
+ parse_iso8601("2008-W39-6")
+ parse_iso8601("2009-W53-7")
+ parse_iso8601("2009-W01-1")
+
+ # Week date wth time
+ parse_iso8601("2008-W39-6T09")