summaryrefslogtreecommitdiffstats
path: root/tests/datetime/test_naive.py
blob: 95bd2d52bc58a3ebf5f7e31bda0427b5525f7278 (plain)
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
from __future__ import annotations

import pendulum

from tests.conftest import assert_datetime


def test_naive():
    dt = pendulum.naive(2018, 2, 2, 12, 34, 56, 123456)

    assert_datetime(dt, 2018, 2, 2, 12, 34, 56, 123456)
    assert dt.tzinfo is None
    assert dt.timezone is None
    assert dt.timezone_name is None


def test_naive_add():
    dt = pendulum.naive(2013, 3, 31, 1, 30)
    new = dt.add(hours=1)

    assert_datetime(new, 2013, 3, 31, 2, 30)


def test_naive_subtract():
    dt = pendulum.naive(2013, 3, 31, 1, 30)
    new = dt.subtract(hours=1)

    assert_datetime(new, 2013, 3, 31, 0, 30)


def test_naive_in_timezone():
    dt = pendulum.naive(2013, 3, 31, 1, 30)
    new = dt.in_timezone("Europe/Paris")

    assert_datetime(new, 2013, 3, 31, 1, 30)
    assert new.timezone_name == "Europe/Paris"


def test_naive_in_timezone_dst():
    dt = pendulum.naive(2013, 3, 31, 2, 30)
    new = dt.in_timezone("Europe/Paris")

    assert_datetime(new, 2013, 3, 31, 3, 30)
    assert new.timezone_name == "Europe/Paris"


def test_add():
    dt = pendulum.naive(2013, 3, 31, 2, 30)
    new = dt.add(days=3)

    assert_datetime(new, 2013, 4, 3, 2, 30)


def test_subtract():
    dt = pendulum.naive(2013, 3, 31, 2, 30)
    new = dt.subtract(days=3)

    assert_datetime(new, 2013, 3, 28, 2, 30)


def test_to_strings():
    dt = pendulum.naive(2013, 3, 31, 2, 30)

    assert dt.isoformat() == "2013-03-31T02:30:00"
    assert dt.to_iso8601_string() == "2013-03-31T02:30:00"
    assert dt.to_rfc3339_string() == "2013-03-31T02:30:00"
    assert dt.to_atom_string() == "2013-03-31T02:30:00"
    assert dt.to_cookie_string() == "Sunday, 31-Mar-2013 02:30:00 "


def test_naive_method():
    dt = pendulum.datetime(2018, 2, 2, 12, 34, 56, 123456)
    dt = dt.naive()

    assert_datetime(dt, 2018, 2, 2, 12, 34, 56, 123456)
    assert dt.tzinfo is None
    assert dt.timezone is None
    assert dt.timezone_name is None