File: test_recurrences_without_limits.py

package info (click to toggle)
django-recurrence 1.12.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,148 kB
  • sloc: python: 2,530; javascript: 2,502; makefile: 159; sh: 6
file content (141 lines) | stat: -rw-r--r-- 3,814 bytes parent folder | download | duplicates (5)
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
from datetime import datetime
from recurrence import Recurrence, Rule
import recurrence


RULE = Rule(
    recurrence.DAILY
)

PATTERN = Recurrence(
    rrules=[RULE]
)


def test_between_without_dtend_and_dtstart():
    occurrences = [
        instance for instance in
        PATTERN.between(
            datetime(2014, 1, 1, 0, 0, 0),
            datetime(2014, 1, 4, 0, 0, 0)
        )
    ]

    # We get back nothing, since dtstart and dtend will have defaulted
    # to the current time, and January 2014 is in the past.
    assert occurrences == []


def test_between_with_dtend_and_dtstart_dtend_lower_than_end():
    occurrences = [
        instance for instance in
        PATTERN.between(
            datetime(2014, 1, 1, 0, 0, 0),
            datetime(2014, 1, 6, 0, 0, 0),
            dtstart=datetime(2014, 1, 1, 0, 0, 0),
            dtend=datetime(2014, 1, 4, 0, 0, 0),
        )
    ]

    assert occurrences == [
        datetime(2014, 1, 2, 0, 0, 0),
        datetime(2014, 1, 3, 0, 0, 0),
        datetime(2014, 1, 4, 0, 0, 0),
    ]


def test_between_with_dtend_and_dtstart_dtend_higher_than_end():
    occurrences = [
        instance for instance in
        PATTERN.between(
            datetime(2014, 1, 1, 0, 0, 0),
            datetime(2014, 1, 6, 0, 0, 0),
            dtstart=datetime(2014, 1, 1, 0, 0, 0),
            dtend=datetime(2014, 1, 8, 0, 0, 0),
        )
    ]

    assert occurrences == [
        datetime(2014, 1, 2, 0, 0, 0),
        datetime(2014, 1, 3, 0, 0, 0),
        datetime(2014, 1, 4, 0, 0, 0),
        datetime(2014, 1, 5, 0, 0, 0),
    ]


def test_between_with_dtend_and_dtstart_limits_equal_exclusive():
    occurrences = [
        instance for instance in
        PATTERN.between(
            datetime(2014, 1, 1, 0, 0, 0),
            datetime(2014, 1, 6, 0, 0, 0),
            dtstart=datetime(2014, 1, 2, 0, 0, 0),
            dtend=datetime(2014, 1, 6, 0, 0, 0),
        )
    ]

    assert occurrences == [
        datetime(2014, 1, 2, 0, 0, 0),
        datetime(2014, 1, 3, 0, 0, 0),
        datetime(2014, 1, 4, 0, 0, 0),
        datetime(2014, 1, 5, 0, 0, 0),
    ]


def test_between_with_dtend_and_dtstart_limits_equal_inclusive():
    occurrences = [
        instance for instance in
        PATTERN.between(
            datetime(2014, 1, 1, 0, 0, 0),
            datetime(2014, 1, 6, 0, 0, 0),
            dtstart=datetime(2014, 1, 1, 0, 0, 0),
            dtend=datetime(2014, 1, 6, 0, 0, 0),
            inc=True
        )
    ]

    assert occurrences == [
        datetime(2014, 1, 1, 0, 0, 0),
        datetime(2014, 1, 2, 0, 0, 0),
        datetime(2014, 1, 3, 0, 0, 0),
        datetime(2014, 1, 4, 0, 0, 0),
        datetime(2014, 1, 5, 0, 0, 0),
        datetime(2014, 1, 6, 0, 0, 0),
    ]


def test_between_with_dtend_and_dtstart_dtstart_lower_than_start():
    occurrences = [
        instance for instance in
        PATTERN.between(
            datetime(2014, 1, 2, 0, 0, 0),
            datetime(2014, 1, 6, 0, 0, 0),
            dtstart=datetime(2014, 1, 1, 0, 0, 0),
            dtend=datetime(2014, 1, 6, 0, 0, 0),
        )
    ]

    assert occurrences == [
        datetime(2014, 1, 3, 0, 0, 0),
        datetime(2014, 1, 4, 0, 0, 0),
        datetime(2014, 1, 5, 0, 0, 0),
    ]


def test_between_with_dtend_and_dtstart_dtstart_higher_than_start():
    occurrences = [
        instance for instance in
        PATTERN.between(
            datetime(2014, 1, 1, 0, 0, 0),
            datetime(2014, 1, 6, 0, 0, 0),
            dtstart=datetime(2014, 1, 2, 0, 0, 0),
            dtend=datetime(2014, 1, 6, 0, 0, 0),
        )
    ]

    assert occurrences == [
        datetime(2014, 1, 2, 0, 0, 0),
        datetime(2014, 1, 3, 0, 0, 0),
        datetime(2014, 1, 4, 0, 0, 0),
        datetime(2014, 1, 5, 0, 0, 0),
    ]