1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 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")
|