summaryrefslogtreecommitdiffstats
path: root/tests/benchmarks/test_parse_8601.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2023-12-17 14:32:20 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2023-12-17 14:32:20 +0000
commitdb51f7f103bbbd6c91c8f47d75b3482ef8939691 (patch)
treeab59b1147bd0cd39f31a48073cff236ede4ec1df /tests/benchmarks/test_parse_8601.py
parentAdding upstream version 3.0.0~a1. (diff)
downloadpendulum-db51f7f103bbbd6c91c8f47d75b3482ef8939691.tar.xz
pendulum-db51f7f103bbbd6c91c8f47d75b3482ef8939691.zip
Adding upstream version 3.0.0.upstream/3.0.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
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")