|
1 /* |
|
2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: |
|
15 * |
|
16 */ |
|
17 |
|
18 #include <QtTest/QtTest> |
|
19 #include <QDateTime> |
|
20 |
|
21 #include "calendateutils.h" |
|
22 #include "test_calendateutils.h" |
|
23 |
|
24 /*! |
|
25 \class TestCalenDateUtils |
|
26 |
|
27 This is unittest class for CalenDateUtils apis. |
|
28 */ |
|
29 |
|
30 TestCalenDateUtils::TestCalenDateUtils() |
|
31 { |
|
32 // No implementation yet |
|
33 } |
|
34 |
|
35 TestCalenDateUtils::~TestCalenDateUtils() |
|
36 { |
|
37 // No implementation yet |
|
38 } |
|
39 |
|
40 /*! |
|
41 This function is called to before every testcase. |
|
42 */ |
|
43 void TestCalenDateUtils::init() |
|
44 { |
|
45 // No implementation yet |
|
46 } |
|
47 |
|
48 /*! |
|
49 This function is called after every testcase. |
|
50 */ |
|
51 void TestCalenDateUtils::cleanup() |
|
52 { |
|
53 // No implementation yet |
|
54 } |
|
55 |
|
56 /*! |
|
57 This function is to test the api of CalenDateUtils::onSameDay. |
|
58 */ |
|
59 void TestCalenDateUtils::test_onSameDay() |
|
60 { |
|
61 QDateTime firstParam(QDate(2010, 10, 9)); |
|
62 QDateTime secondParam(QDate(2009, 22, 9)); |
|
63 QCOMPARE(CalenDateUtils::onSameDay(firstParam, secondParam), false); |
|
64 |
|
65 firstParam = QDateTime(QDate(2010, 2, 30)); |
|
66 secondParam = QDateTime::currentDateTime(); |
|
67 QCOMPARE(CalenDateUtils::onSameDay(firstParam, secondParam), false); |
|
68 |
|
69 firstParam = QDateTime(QDate(2010, 12, 5), QTime(6, 44)); |
|
70 secondParam = QDateTime(QDate(2010, 12, 5), QTime(9, 33)); |
|
71 QCOMPARE(CalenDateUtils::onSameDay(firstParam, secondParam), true); |
|
72 |
|
73 firstParam = QDateTime(QDate(-1756, 12, 5)); |
|
74 secondParam = QDateTime(QDate(1900, 5, 9)); |
|
75 QCOMPARE(CalenDateUtils::onSameDay(firstParam, secondParam), false); |
|
76 |
|
77 } |
|
78 |
|
79 /*! |
|
80 This function is to test the api of CalenDateUtils::onSameMonth. |
|
81 */ |
|
82 void TestCalenDateUtils::test_onSameMonth() |
|
83 { |
|
84 QDateTime firstParam(QDate(2010, 10, 9)); |
|
85 QDateTime secondParam(QDate(2010, 22, 9)); |
|
86 QCOMPARE(CalenDateUtils::onSameMonth(firstParam, secondParam), false); |
|
87 |
|
88 firstParam = QDateTime(QDate(2010, 2, 13)); |
|
89 secondParam = QDateTime(QDate(2009, 2, 3)); |
|
90 QCOMPARE(CalenDateUtils::onSameMonth(firstParam, secondParam), false); |
|
91 |
|
92 firstParam = QDateTime(QDate(2010, 12, 5)); |
|
93 secondParam = QDateTime(QDate(2010, 12, 6)); |
|
94 QCOMPARE(CalenDateUtils::onSameMonth(firstParam, secondParam), true); |
|
95 |
|
96 firstParam = QDateTime(QDate(2010, 13, 5)); |
|
97 secondParam = QDateTime(QDate(2010, 12, 9)); |
|
98 QCOMPARE(CalenDateUtils::onSameMonth(firstParam, secondParam), false); |
|
99 } |
|
100 |
|
101 /*! |
|
102 This function is to test the api of CalenDateUtils::beginningOfDay. |
|
103 */ |
|
104 void TestCalenDateUtils::test_beginningOfDay() |
|
105 { |
|
106 QDateTime expectedDate(QDate(2010, 5, 4), QTime(0, 0)); |
|
107 QDateTime param(QDate(2010, 5, 4), QTime(15, 44)); |
|
108 QCOMPARE(CalenDateUtils::beginningOfDay(param), expectedDate); |
|
109 |
|
110 expectedDate = QDateTime(QDate(2010, 3, 3), QTime(0, 0)); |
|
111 param = QDateTime(QDate(2010, 3, 3), QTime(2, 33)); |
|
112 QCOMPARE(CalenDateUtils::beginningOfDay(param), expectedDate); |
|
113 |
|
114 expectedDate = QDateTime(QDate(2010, 3, 5)); |
|
115 param = QDateTime(QDate(2010, 3, 5), QTime(23, 59, 59, 999)); |
|
116 QCOMPARE(CalenDateUtils::beginningOfDay(param), expectedDate); |
|
117 |
|
118 expectedDate = QDateTime(QDate(2010, 12, 15), QTime(0, 0)); |
|
119 param = QDateTime(QDate(2010, 12, 15), QTime(24, 59)); |
|
120 QCOMPARE(CalenDateUtils::beginningOfDay(param), expectedDate); |
|
121 } |
|
122 |
|
123 /*! |
|
124 This function is to test the api of CalenDateUtils::displayTimeOnDay. |
|
125 */ |
|
126 void TestCalenDateUtils::test_displayTimeOnDay() |
|
127 { |
|
128 QDateTime firstParam(QDate(2010, 10, 9), QTime(12, 45)); |
|
129 QDateTime secondParam(QDate(2010, 10, 9)); |
|
130 QDateTime actualOutput; |
|
131 QDateTime expectedOutput = firstParam; |
|
132 |
|
133 actualOutput = CalenDateUtils::displayTimeOnDay(firstParam, secondParam); |
|
134 QCOMPARE(actualOutput, expectedOutput); |
|
135 |
|
136 firstParam = QDateTime(QDate(2010, 2, 13)); |
|
137 secondParam = QDateTime(QDate(2009, 2, 3), QTime(23, 59)); |
|
138 actualOutput = QDateTime(); |
|
139 expectedOutput = CalenDateUtils::beginningOfDay(secondParam); |
|
140 |
|
141 actualOutput = CalenDateUtils::displayTimeOnDay(firstParam, secondParam); |
|
142 QCOMPARE(actualOutput, expectedOutput); |
|
143 |
|
144 firstParam = QDateTime(QDate(2010, 1, 5)); |
|
145 secondParam = QDateTime(QDate(2010, 13, 6)); |
|
146 actualOutput = QDateTime(); |
|
147 |
|
148 actualOutput = CalenDateUtils::displayTimeOnDay(firstParam, secondParam); |
|
149 QVERIFY(!actualOutput.isValid()); |
|
150 |
|
151 } |
|
152 |
|
153 /*! |
|
154 This function is to test the api of CalenDateUtils::displayTimeOnDay. |
|
155 */ |
|
156 void TestCalenDateUtils::test_timeRangesIntersect() |
|
157 { |
|
158 QDateTime firstStartTime(QDate(2010, 10, 9), QTime(12, 45)); |
|
159 QDateTime firstEndTime(QDate(2010, 10, 10)); |
|
160 QDateTime secondStartTime(QDate(2010, 6, 5)); |
|
161 QDateTime secondEndTime(QDate(2010, 10, 9)); |
|
162 |
|
163 bool actualOutput = CalenDateUtils::timeRangesIntersect(firstStartTime, |
|
164 firstEndTime, |
|
165 secondStartTime, |
|
166 secondEndTime); |
|
167 QCOMPARE(actualOutput, false); |
|
168 |
|
169 firstStartTime = QDateTime(QDate(2009, 5, 7)); |
|
170 firstEndTime = QDateTime(QDate(2009, 5, 6)); |
|
171 secondStartTime = QDateTime(QDate(2009, 5, 6)); |
|
172 secondEndTime = QDateTime(QDate(2009, 5, 6)); |
|
173 actualOutput = true; |
|
174 |
|
175 actualOutput = CalenDateUtils::timeRangesIntersect(firstStartTime, |
|
176 firstEndTime, |
|
177 secondStartTime, |
|
178 secondEndTime); |
|
179 QCOMPARE(actualOutput, false); |
|
180 |
|
181 firstStartTime = QDateTime(QDate(2009, 5, 7)); |
|
182 firstEndTime = QDateTime(QDate(2009, 6, 11)); |
|
183 secondStartTime = QDateTime(QDate(2009, 5, 7), QTime(2,0)); |
|
184 secondEndTime = QDateTime(QDate(2009, 5, 8)); |
|
185 actualOutput = false; |
|
186 |
|
187 actualOutput = CalenDateUtils::timeRangesIntersect(firstStartTime, |
|
188 firstEndTime, |
|
189 secondStartTime, |
|
190 secondEndTime); |
|
191 QCOMPARE(actualOutput, true); |
|
192 |
|
193 } |
|
194 |
|
195 /*! |
|
196 This function is to test the api of CalenDateUtils::isValidDay. |
|
197 */ |
|
198 void TestCalenDateUtils::test_isValidDay() |
|
199 { |
|
200 QVERIFY(!CalenDateUtils::isValidDay(QDateTime(QDate(1899,12,28)))); |
|
201 |
|
202 QVERIFY(CalenDateUtils::isValidDay(QDateTime(QDate(2100,12,31)))); |
|
203 |
|
204 QVERIFY(CalenDateUtils::isValidDay(QDateTime(QDate(2100,12,30)))); |
|
205 |
|
206 QVERIFY(!CalenDateUtils::isValidDay(QDateTime(QDate(2100,2,31)))); |
|
207 |
|
208 } |
|
209 |
|
210 /*! |
|
211 This function is to test the api of CalenDateUtils::limitToValidTime. |
|
212 */ |
|
213 void TestCalenDateUtils::test_limitToValidTime() |
|
214 { |
|
215 QDateTime dateTime(QDate(1899, 12, 28)); |
|
216 |
|
217 QDateTime actualOutput = CalenDateUtils::limitToValidTime(dateTime); |
|
218 QCOMPARE(actualOutput , QDateTime(QDate(1900,1,1))); |
|
219 |
|
220 dateTime = QDateTime(QDate(2010, 10, 20)); |
|
221 actualOutput = CalenDateUtils::limitToValidTime(dateTime); |
|
222 QCOMPARE(actualOutput, QDateTime(QDate(2010,10,20))); |
|
223 |
|
224 dateTime = QDateTime(); |
|
225 actualOutput = CalenDateUtils::limitToValidTime(dateTime); |
|
226 QCOMPARE(actualOutput, QDateTime(QDate(1900,1,1))); |
|
227 |
|
228 dateTime = QDateTime(QDate(2101, 1, 1)); |
|
229 actualOutput = CalenDateUtils::limitToValidTime(dateTime); |
|
230 QCOMPARE(actualOutput, QDateTime(QDate(2100,12,31))); |
|
231 |
|
232 dateTime = QDateTime(QDate(2100, 12, 31), QTime(12,55)); |
|
233 actualOutput = CalenDateUtils::limitToValidTime(dateTime); |
|
234 QCOMPARE(actualOutput, QDateTime(QDate(2100,12,31))); |
|
235 |
|
236 dateTime = QDateTime(QDate(2010,2,31)); |
|
237 actualOutput = CalenDateUtils::limitToValidTime(dateTime); |
|
238 QCOMPARE(actualOutput, QDateTime(QDate(1900,1,1))); |
|
239 |
|
240 } |
|
241 |
|
242 /*! |
|
243 This function is to test the api of CalenDateUtils::maxTime. |
|
244 */ |
|
245 void TestCalenDateUtils::test_maxTime() |
|
246 { |
|
247 QCOMPARE(CalenDateUtils::maxTime() , QDateTime(QDate(2100,12,31))); |
|
248 } |
|
249 |
|
250 /*! |
|
251 This function is to test the api of CalenDateUtils::minTime. |
|
252 */ |
|
253 void TestCalenDateUtils::test_minTime() |
|
254 { |
|
255 QCOMPARE(CalenDateUtils::minTime() , QDateTime(QDate(1900,1,1))); |
|
256 } |
|
257 |
|
258 /*! |
|
259 This function is to test the api of CalenDateUtils::timeOfDay. |
|
260 */ |
|
261 void TestCalenDateUtils::test_timeOfDay() |
|
262 { |
|
263 QDateTime dateTime = QDateTime(QDate(1900, 1, 1)); |
|
264 int actulOutput = CalenDateUtils::timeOfDay(dateTime); |
|
265 int expectedOutput = 0; |
|
266 QCOMPARE(actulOutput, expectedOutput); |
|
267 |
|
268 dateTime = QDateTime(QDate(2010, 12, 8), QTime(12, 30)); |
|
269 expectedOutput = 750; |
|
270 actulOutput = CalenDateUtils::timeOfDay(dateTime); |
|
271 QCOMPARE(actulOutput, expectedOutput); |
|
272 |
|
273 dateTime = QDateTime(QDate(2010, 12, 8), QTime(6, 59, 59, 999)); |
|
274 expectedOutput = 420; |
|
275 actulOutput = CalenDateUtils::timeOfDay(dateTime); |
|
276 QCOMPARE(actulOutput, expectedOutput); |
|
277 |
|
278 dateTime = QDateTime(QDate(2010, 4, 31), QTime(7, 0)); |
|
279 expectedOutput = 420; |
|
280 actulOutput = CalenDateUtils::timeOfDay(dateTime); |
|
281 QCOMPARE(actulOutput, expectedOutput); |
|
282 |
|
283 dateTime = QDateTime(QDate(2010, 4, 7), QTime(6, 59, 59)); |
|
284 expectedOutput = 419; |
|
285 actulOutput = CalenDateUtils::timeOfDay(dateTime); |
|
286 QCOMPARE(actulOutput, expectedOutput); |
|
287 |
|
288 dateTime = QDateTime(QDate(2010, 4, 7), QTime(12, 60, 60)); |
|
289 expectedOutput = 0; |
|
290 actulOutput = CalenDateUtils::timeOfDay(dateTime); |
|
291 QCOMPARE(actulOutput, expectedOutput); |
|
292 } |
|
293 |
|
294 /*! |
|
295 This function is to test the api of CalenDateUtils::roundToPreviousHour. |
|
296 */ |
|
297 void TestCalenDateUtils::test_roundToPreviousHour() |
|
298 { |
|
299 QDateTime dateTime = QDateTime(QDate(1900, 1, 1), QTime(23, 59, 59)); |
|
300 QDateTime actulOutput = CalenDateUtils::roundToPreviousHour(dateTime); |
|
301 QDateTime expectedOutput(QDate(1900, 1, 1), QTime(23, 0)); |
|
302 QCOMPARE(actulOutput, expectedOutput); |
|
303 |
|
304 dateTime = QDateTime(QDate(2010, 12, 8), QTime(12, 30)); |
|
305 expectedOutput = QDateTime(QDate(2010, 12, 8), QTime(12, 0)); |
|
306 actulOutput = CalenDateUtils::roundToPreviousHour(dateTime); |
|
307 QCOMPARE(actulOutput, expectedOutput); |
|
308 |
|
309 dateTime = QDateTime(QDate(2010, 12, 8), QTime(6, 59, 59, 999)); |
|
310 expectedOutput = QDateTime(QDate(2010, 12, 8), QTime(6, 0)); |
|
311 actulOutput = CalenDateUtils::roundToPreviousHour(dateTime); |
|
312 QCOMPARE(actulOutput, expectedOutput); |
|
313 |
|
314 dateTime = QDateTime(QDate(2010, 4, 3), QTime(12, 60, 60)); |
|
315 expectedOutput = QDateTime(QDate(2010, 4, 3)); |
|
316 actulOutput = CalenDateUtils::roundToPreviousHour(dateTime); |
|
317 QCOMPARE(actulOutput, expectedOutput); |
|
318 } |
|
319 |
|
320 /*! |
|
321 This function is to test the api of CalenDateUtils::roundToPreviousHour. |
|
322 */ |
|
323 void TestCalenDateUtils::test_roundToPreviousHourFromMinutes() |
|
324 { |
|
325 int minutes = 145; |
|
326 int actulOutput = CalenDateUtils::roundToPreviousHour(minutes); |
|
327 int expectedOutput = 120; |
|
328 QCOMPARE(actulOutput, expectedOutput); |
|
329 |
|
330 minutes = -255; |
|
331 expectedOutput = -240; |
|
332 actulOutput = CalenDateUtils::roundToPreviousHour(minutes); |
|
333 QCOMPARE(actulOutput, expectedOutput); |
|
334 |
|
335 minutes = 606; |
|
336 expectedOutput = 600; |
|
337 actulOutput = CalenDateUtils::roundToPreviousHour(minutes); |
|
338 QCOMPARE(actulOutput, expectedOutput); |
|
339 } |
|
340 |
|
341 /*! |
|
342 This function is to test the api of CalenDateUtils::now. |
|
343 */ |
|
344 void TestCalenDateUtils::test_now() |
|
345 { |
|
346 QCOMPARE(CalenDateUtils::now() , QDateTime::currentDateTime()); |
|
347 } |
|
348 |
|
349 /*! |
|
350 This function is to test the api of CalenDateUtils::today. |
|
351 */ |
|
352 void TestCalenDateUtils::test_today() |
|
353 { |
|
354 QDateTime expectedTime = QDateTime::currentDateTime(); |
|
355 expectedTime.setTime(QTime(0,0)); |
|
356 QCOMPARE(CalenDateUtils::today() , expectedTime ); |
|
357 } |
|
358 |
|
359 /*! |
|
360 This function is to test the api of CalenDateUtils::isOnToday. |
|
361 */ |
|
362 void TestCalenDateUtils::test_isOnToday() |
|
363 { |
|
364 QVERIFY(CalenDateUtils::isOnToday(QDateTime::currentDateTime())); |
|
365 QDateTime dateTime = QDateTime::currentDateTime().addDays(1); |
|
366 QVERIFY(!CalenDateUtils::isOnToday(dateTime)); |
|
367 } |
|
368 |
|
369 /*! |
|
370 This function is to test the api of CalenDateUtils::defaultTime. |
|
371 */ |
|
372 void TestCalenDateUtils::test_defaultTime() |
|
373 { |
|
374 QDateTime dateTime = QDateTime(QDate(2010, 3, 2)); |
|
375 QDateTime expectedOutput = dateTime; |
|
376 // 8:00 am is default time for Calendar Editor |
|
377 expectedOutput.setTime(QTime(8, 0)); |
|
378 QDateTime actualOutput = CalenDateUtils::defaultTime(dateTime); |
|
379 QCOMPARE(actualOutput, expectedOutput); |
|
380 } |
|
381 |
|
382 /*! |
|
383 This function is to test the api of CalenDateUtils::futureOf. |
|
384 */ |
|
385 void TestCalenDateUtils::test_futureOf() |
|
386 { |
|
387 QDateTime dateTime = QDateTime(QDate(2009, 10, 30)); |
|
388 QDateTime expectedOutput = QDateTime(QDate(2009, 11, 26)); |
|
389 QDateTime actualOutput = CalenDateUtils::futureOf(dateTime, 27); |
|
390 QCOMPARE(actualOutput, expectedOutput); |
|
391 } |
|
392 |
|
393 // End of file --Don't remove this. |