summaryrefslogtreecommitdiffstats
path: root/tests/date/test_getters.py
blob: a4927941b9d2033259788293c6e1e277c6fe4b01 (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
79
80
81
82
83
84
85
86
87
from __future__ import annotations

import pendulum


def test_year():
    d = pendulum.Date(1234, 5, 6)
    assert d.year == 1234


def test_month():
    d = pendulum.Date(1234, 5, 6)
    assert d.month == 5


def test_day():
    d = pendulum.Date(1234, 5, 6)
    assert d.day == 6


def test_day_of_week():
    d = pendulum.Date(2012, 5, 7)
    assert d.day_of_week == pendulum.MONDAY


def test_day_of_year():
    d = pendulum.Date(2015, 12, 31)
    assert d.day_of_year == 365
    d = pendulum.Date(2016, 12, 31)
    assert d.day_of_year == 366


def test_days_in_month():
    d = pendulum.Date(2012, 5, 7)
    assert d.days_in_month == 31


def test_age():
    d = pendulum.Date.today()
    assert d.age == 0
    assert d.add(years=1).age == -1
    assert d.subtract(years=1).age == 1


def test_is_leap_year():
    assert pendulum.Date(2012, 1, 1).is_leap_year()
    assert not pendulum.Date(2011, 1, 1).is_leap_year()


def test_is_long_year():
    assert pendulum.Date(2015, 1, 1).is_long_year()
    assert not pendulum.Date(2016, 1, 1).is_long_year()


def test_week_of_month():
    assert pendulum.Date(2012, 9, 30).week_of_month == 5
    assert pendulum.Date(2012, 9, 28).week_of_month == 5
    assert pendulum.Date(2012, 9, 20).week_of_month == 4
    assert pendulum.Date(2012, 9, 8).week_of_month == 2
    assert pendulum.Date(2012, 9, 1).week_of_month == 1
    assert pendulum.date(2020, 1, 1).week_of_month == 1
    assert pendulum.date(2020, 1, 7).week_of_month == 2
    assert pendulum.date(2020, 1, 14).week_of_month == 3


def test_week_of_year_first_week():
    assert pendulum.Date(2012, 1, 1).week_of_year == 52
    assert pendulum.Date(2012, 1, 2).week_of_year == 1


def test_week_of_year_last_week():
    assert pendulum.Date(2012, 12, 30).week_of_year == 52
    assert pendulum.Date(2012, 12, 31).week_of_year == 1


def test_is_future():
    d = pendulum.Date.today()
    assert not d.is_future()
    d = d.add(days=1)
    assert d.is_future()


def test_is_past():
    d = pendulum.Date.today()
    assert not d.is_past()
    d = d.subtract(days=1)
    assert d.is_past()