1
1
package com.orgzly.android.util
2
2
3
- import com.orgzly.org.datetime.OrgInterval
3
+ import com.orgzly.android.ui.TimeType
4
+ import com.orgzly.android.ui.notes.query.agenda.AgendaItems
5
+ import com.orgzly.org.datetime.OrgRange
4
6
import org.hamcrest.Matchers
5
7
import org.joda.time.DateTime
6
8
import org.junit.Assert
@@ -13,22 +15,26 @@ import java.util.*
13
15
class AgendaUtilsTest (private val param : Parameter ) {
14
16
15
17
data class Parameter (
18
+ val timeType : TimeType ,
16
19
val rangeStr : String ,
17
20
val days : Int ,
18
- val overdueToday : Boolean ,
19
- val warningPeriod : OrgInterval ? = null ,
20
21
val dates : List <DateTime >)
21
22
22
23
// 2017 May 5, 13:00:00
23
24
private val now = GregorianCalendar (2017 , Calendar .MAY , 5 , 13 , 0 )
24
25
25
26
@Test
26
27
fun testExpander () {
27
- val expandedDates = AgendaUtils .expandOrgDateTime(
28
- param.rangeStr, DateTime (now), param.days, param.overdueToday, param.warningPeriod)
28
+ val range = OrgRange .parse(param.rangeStr)
29
+
30
+ val expandable = AgendaItems .ExpandableOrgRange .fromRange(param.timeType, range)
31
+
32
+ val expandedDates = AgendaUtils .expandOrgDateTime(expandable, DateTime (now), param.days)
29
33
30
34
Assert .assertEquals(param.dates.size.toLong(), expandedDates.size.toLong())
31
- Assert .assertThat(toStringArray(expandedDates), Matchers .`is `(toStringArray(param.dates)))
35
+ Assert .assertThat(
36
+ toStringArray(expandedDates.toList()),
37
+ Matchers .`is `(toStringArray(param.dates)))
32
38
}
33
39
34
40
private fun toStringArray (times : List <DateTime >): List <String >? {
@@ -44,82 +50,82 @@ class AgendaUtilsTest(private val param: Parameter) {
44
50
fun data (): Collection <Parameter > {
45
51
return listOf (
46
52
Parameter (
53
+ timeType = TimeType .SCHEDULED ,
47
54
rangeStr = " <2017-05-03 Wed>--<2017-05-11 Do>" ,
48
55
days = 2 ,
49
- overdueToday = true ,
50
56
dates = listOf (
51
57
DateTime (2017 , 5 , 5 , 0 , 0 ),
52
58
DateTime (2017 , 5 , 6 , 0 , 0 ))),
53
59
54
60
Parameter (
61
+ timeType = TimeType .SCHEDULED ,
55
62
rangeStr = " <2017-05-03 Wed>--<2017-05-11 Do>" ,
56
63
days = 1 ,
57
- overdueToday = true ,
58
64
dates = listOf (
59
65
DateTime (2017 , 5 , 5 , 0 , 0 ))),
60
66
61
67
Parameter (
68
+ timeType = TimeType .SCHEDULED ,
62
69
rangeStr = " <2017-05-06 Sat>--<2017-05-08 Mon>" ,
63
70
days = 10 ,
64
- overdueToday = true ,
65
71
dates = listOf (
66
72
DateTime (2017 , 5 , 6 , 0 , 0 ),
67
73
DateTime (2017 , 5 , 7 , 0 , 0 ),
68
74
DateTime (2017 , 5 , 8 , 0 , 0 ))),
69
75
70
76
Parameter (
77
+ timeType = TimeType .SCHEDULED ,
71
78
rangeStr = " <2017-05-02 Tue ++3d>" ,
72
79
days = 5 ,
73
- overdueToday = true ,
74
80
dates = listOf (
75
81
DateTime (2017 , 5 , 5 , 0 , 0 ),
76
82
DateTime (2017 , 5 , 8 , 0 , 0 ))),
77
83
78
84
Parameter (
85
+ timeType = TimeType .SCHEDULED ,
79
86
rangeStr = " <2017-05-04 Do>" ,
80
87
days = 5 ,
81
- overdueToday = true ,
82
88
dates = listOf (
83
89
DateTime (2017 , 5 , 5 , 0 , 0 ))),
84
90
85
91
Parameter (
92
+ timeType = TimeType .SCHEDULED ,
86
93
rangeStr = " <2017-05-05 Do>" ,
87
94
days = 5 ,
88
- overdueToday = true ,
89
95
dates = listOf (
90
96
DateTime (2017 , 5 , 5 , 0 , 0 ))),
91
97
92
98
Parameter (
99
+ timeType = TimeType .SCHEDULED ,
93
100
rangeStr = " <2017-05-06 Do>" ,
94
101
days = 5 ,
95
- overdueToday = true ,
96
102
dates = listOf (
97
103
DateTime (2017 , 5 , 6 , 0 , 0 ))),
98
104
99
105
Parameter (
106
+ timeType = TimeType .SCHEDULED ,
100
107
rangeStr = " <2017-05-03 Wed 09:00 ++12h>" ,
101
108
days = 2 ,
102
- overdueToday = true ,
103
109
dates = listOf (
104
110
DateTime (2017 , 5 , 5 , 0 , 0 ), // overdue
105
111
DateTime (2017 , 5 , 5 , 21 , 0 ),
106
112
DateTime (2017 , 5 , 6 , 9 , 0 ),
107
113
DateTime (2017 , 5 , 6 , 21 , 0 ))),
108
114
109
115
Parameter (
116
+ timeType = TimeType .SCHEDULED ,
110
117
rangeStr = " <2017-05-05 Fri 09:00 ++12h>" ,
111
118
days = 2 ,
112
- overdueToday = true ,
113
119
dates = listOf (
114
120
DateTime (2017 , 5 , 5 , 0 , 0 ), // overdue
115
121
DateTime (2017 , 5 , 5 , 21 , 0 ),
116
122
DateTime (2017 , 5 , 6 , 9 , 0 ),
117
123
DateTime (2017 , 5 , 6 , 21 , 0 ))),
118
124
119
125
Parameter (
126
+ timeType = TimeType .SCHEDULED ,
120
127
rangeStr = " <2017-05-07 Sun 09:00 ++6h>" ,
121
128
days = 4 ,
122
- overdueToday = true ,
123
129
dates = listOf (
124
130
DateTime (2017 , 5 , 7 , 9 , 0 ),
125
131
DateTime (2017 , 5 , 7 , 15 , 0 ),
@@ -130,19 +136,19 @@ class AgendaUtilsTest(private val param: Parameter) {
130
136
DateTime (2017 , 5 , 8 , 21 , 0 ))),
131
137
132
138
Parameter (
139
+ timeType = TimeType .SCHEDULED ,
133
140
rangeStr = " <2017-05-03 Wed 09:00 .+12h>" ,
134
141
days = 2 ,
135
- overdueToday = true ,
136
142
dates = listOf (
137
143
DateTime (2017 , 5 , 5 , 0 , 0 ), // overdue
138
144
DateTime (2017 , 5 , 5 , 21 , 0 ),
139
145
DateTime (2017 , 5 , 6 , 9 , 0 ),
140
146
DateTime (2017 , 5 , 6 , 21 , 0 ))),
141
147
142
148
Parameter (
149
+ timeType = TimeType .SCHEDULED ,
143
150
rangeStr = " <2017-05-03 Wed 09:00 +12h>" ,
144
151
days = 3 ,
145
- overdueToday = true ,
146
152
dates = listOf (
147
153
DateTime (2017 , 5 , 5 , 0 , 0 ), // overdue
148
154
DateTime (2017 , 5 , 5 , 21 , 0 ),
@@ -152,48 +158,46 @@ class AgendaUtilsTest(private val param: Parameter) {
152
158
DateTime (2017 , 5 , 7 , 21 , 0 ))),
153
159
154
160
Parameter (
161
+ timeType = TimeType .SCHEDULED ,
155
162
rangeStr = " <2017-05-08 Mon 09:00 +12h>" ,
156
163
days = 5 ,
157
- overdueToday = true ,
158
164
dates = listOf (
159
165
DateTime (2017 , 5 , 8 , 9 , 0 ),
160
166
DateTime (2017 , 5 , 8 , 21 , 0 ),
161
167
DateTime (2017 , 5 , 9 , 9 , 0 ),
162
168
DateTime (2017 , 5 , 9 , 21 , 0 ))),
163
169
164
170
Parameter (
171
+ timeType = TimeType .SCHEDULED ,
165
172
rangeStr = " <2017-05-06 Sat +1w>" ,
166
173
days = 5 ,
167
- overdueToday = true ,
168
174
dates = listOf (
169
175
DateTime (2017 , 5 , 6 , 0 , 0 ))),
170
176
171
177
Parameter (
178
+ timeType = TimeType .SCHEDULED ,
172
179
rangeStr = " <2017-05-06 Sat +1w>" ,
173
180
days = 10 ,
174
- overdueToday = true ,
175
181
dates = listOf (
176
182
DateTime (2017 , 5 , 6 , 0 , 0 ),
177
183
DateTime (2017 , 5 , 13 , 0 , 0 ))),
178
184
179
185
Parameter (
186
+ timeType = TimeType .EVENT ,
180
187
rangeStr = " <2017-05-04 Sat +1d>" ,
181
188
days = 3 ,
182
- overdueToday = false ,
183
189
dates = listOf (
184
190
DateTime (2017 , 5 , 5 , 0 , 0 ),
185
191
DateTime (2017 , 5 , 6 , 0 , 0 ),
186
192
DateTime (2017 , 5 , 7 , 0 , 0 ))),
187
193
188
194
Parameter (
195
+ timeType = TimeType .DEADLINE ,
189
196
rangeStr = " <2017-05-10 -4d>" ,
190
197
days = 3 ,
191
- overdueToday = false ,
192
- warningPeriod = OrgInterval (4 , OrgInterval .Unit .DAY ),
193
198
dates = listOf (
194
- DateTime (2017 , 5 , 6 , 0 , 0 )))
199
+ DateTime (2017 , 5 , 6 , 0 , 0 ))) // Warning
195
200
)
196
201
}
197
202
}
198
-
199
203
}
0 commit comments