summaryrefslogtreecommitdiffstats
path: root/tests/date/test_behavior.py
blob: 98dd175fa480f691404b876cc564ebcaf9358c0a (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
from __future__ import annotations

import pickle

from datetime import date

import pytest

import pendulum


@pytest.fixture()
def p():
    return pendulum.Date(2016, 8, 27)


@pytest.fixture()
def d():
    return date(2016, 8, 27)


def test_timetuple(p, d):
    assert p.timetuple() == d.timetuple()


def test_ctime(p, d):
    assert p.ctime() == d.ctime()


def test_isoformat(p, d):
    assert p.isoformat() == d.isoformat()


def test_toordinal(p, d):
    assert p.toordinal() == d.toordinal()


def test_weekday(p, d):
    assert p.weekday() == d.weekday()


def test_isoweekday(p, d):
    assert p.isoweekday() == d.isoweekday()


def test_isocalendar(p, d):
    assert p.isocalendar() == d.isocalendar()


def test_fromtimestamp():
    assert pendulum.Date.fromtimestamp(0) == date.fromtimestamp(0)


def test_fromordinal():
    assert pendulum.Date.fromordinal(730120) == date.fromordinal(730120)


def test_hash():
    d1 = pendulum.Date(2016, 8, 27)
    d2 = pendulum.Date(2016, 8, 27)
    d3 = pendulum.Date(2016, 8, 28)

    assert hash(d2) == hash(d1)
    assert hash(d1) != hash(d3)


def test_pickle():
    d1 = pendulum.Date(2016, 8, 27)
    s = pickle.dumps(d1)
    d2 = pickle.loads(s)

    assert isinstance(d2, pendulum.Date)
    assert d2 == d1