Exemplo n.º 1
0
def test_non_commutativity():
    """
    https://www.w3.org/TR/xmlschema-2/#adding-durations-to-instants-commutativity-associativity
    """

    start = datetime(2000, 3, 30)

    duration1 = parse_duration("P1D")
    duration2 = parse_duration("P1M")

    assert start + duration1 + duration2 == datetime(2000, 4, 30)
    assert start + duration2 + duration1 == datetime(2000, 5, 1)
Exemplo n.º 2
0
def test_parse_duration_errors(duration, exception, error_msg):
    with pytest.raises(exception) as exc:
        parse_duration(duration)

    assert exc.match(error_msg)
Exemplo n.º 3
0
def test_parse_duration(duration, date_duration, time_duration):
    assert parse_duration(duration) == Duration(date_duration, time_duration)
Exemplo n.º 4
0
def test_parse_inverse_of_format(date_duration, time_duration):
    duration = Duration(date_duration, time_duration)
    assert parse_duration(format_duration(duration)) == duration
Exemplo n.º 5
0
def test_sub_datetime_duration(start, duration, end):
    assert start - parse_duration(duration) == end
Exemplo n.º 6
0
def test_add_datetime_duration(start, duration, end):
    assert start + parse_duration(duration) == end
    assert parse_duration(duration) + start == end