|
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::isNullTime. |
|
212 */ |
|
213 void TestCalenDateUtils::test_isNullTime() |
|
214 { |
|
215 QDateTime dateTime(QDate(1899,12,28)); |
|
216 |
|
217 QVERIFY(!CalenDateUtils::isNullTime(dateTime)); |
|
218 |
|
219 dateTime = QDateTime(QDate(0,0,0)); |
|
220 QVERIFY(!CalenDateUtils::isNullTime(dateTime)); |
|
221 |
|
222 dateTime = QDateTime(); |
|
223 QVERIFY(CalenDateUtils::isNullTime(dateTime)); |
|
224 |
|
225 dateTime = QDateTime(QDate(2100,2,31)); |
|
226 QVERIFY(!CalenDateUtils::isNullTime(dateTime)); |
|
227 |
|
228 } |
|
229 |
|
230 /*! |
|
231 This function is to test the api of CalenDateUtils::limitToValidTime. |
|
232 */ |
|
233 void TestCalenDateUtils::test_limitToValidTime() |
|
234 { |
|
235 QDateTime dateTime(QDate(1899, 12, 28)); |
|
236 |
|
237 QDateTime actualOutput = CalenDateUtils::limitToValidTime(dateTime); |
|
238 QCOMPARE(actualOutput , QDateTime(QDate(1900,1,1))); |
|
239 |
|
240 dateTime = QDateTime(QDate(2010, 10, 20)); |
|
241 actualOutput = CalenDateUtils::limitToValidTime(dateTime); |
|
242 QCOMPARE(actualOutput, QDateTime(QDate(2010,10,20))); |
|
243 |
|
244 dateTime = QDateTime(); |
|
245 actualOutput = CalenDateUtils::limitToValidTime(dateTime); |
|
246 QCOMPARE(actualOutput, QDateTime(QDate(1900,1,1))); |
|
247 |
|
248 dateTime = QDateTime(QDate(2101, 1, 1)); |
|
249 actualOutput = CalenDateUtils::limitToValidTime(dateTime); |
|
250 QCOMPARE(actualOutput, QDateTime(QDate(2100,12,31))); |
|
251 |
|
252 dateTime = QDateTime(QDate(2100, 12, 31), QTime(12,55)); |
|
253 actualOutput = CalenDateUtils::limitToValidTime(dateTime); |
|
254 QCOMPARE(actualOutput, QDateTime(QDate(2100,12,31))); |
|
255 |
|
256 dateTime = QDateTime(QDate(2010,2,31)); |
|
257 actualOutput = CalenDateUtils::limitToValidTime(dateTime); |
|
258 QCOMPARE(actualOutput, QDateTime(QDate(1900,1,1))); |
|
259 |
|
260 } |
|
261 |
|
262 /*! |
|
263 This function is to test the api of CalenDateUtils::maxTime. |
|
264 */ |
|
265 void TestCalenDateUtils::test_maxTime() |
|
266 { |
|
267 QCOMPARE(CalenDateUtils::maxTime() , QDateTime(QDate(2100,12,31))); |
|
268 } |
|
269 |
|
270 /*! |
|
271 This function is to test the api of CalenDateUtils::minTime. |
|
272 */ |
|
273 void TestCalenDateUtils::test_minTime() |
|
274 { |
|
275 QCOMPARE(CalenDateUtils::minTime() , QDateTime(QDate(1900,1,1))); |
|
276 } |
|
277 |
|
278 /*! |
|
279 This function is to test the api of CalenDateUtils::timeOfDay. |
|
280 */ |
|
281 void TestCalenDateUtils::test_timeOfDay() |
|
282 { |
|
283 QDateTime dateTime = QDateTime(QDate(1900, 1, 1)); |
|
284 int actulOutput = CalenDateUtils::timeOfDay(dateTime); |
|
285 int expectedOutput = 0; |
|
286 QCOMPARE(actulOutput, expectedOutput); |
|
287 |
|
288 dateTime = QDateTime(QDate(2010, 12, 8), QTime(12, 30)); |
|
289 expectedOutput = 750; |
|
290 actulOutput = CalenDateUtils::timeOfDay(dateTime); |
|
291 QCOMPARE(actulOutput, expectedOutput); |
|
292 |
|
293 dateTime = QDateTime(QDate(2010, 12, 8), QTime(6, 59, 59, 999)); |
|
294 expectedOutput = 420; |
|
295 actulOutput = CalenDateUtils::timeOfDay(dateTime); |
|
296 QCOMPARE(actulOutput, expectedOutput); |
|
297 |
|
298 dateTime = QDateTime(QDate(2010, 4, 31), QTime(7, 0)); |
|
299 expectedOutput = 420; |
|
300 actulOutput = CalenDateUtils::timeOfDay(dateTime); |
|
301 QCOMPARE(actulOutput, expectedOutput); |
|
302 |
|
303 dateTime = QDateTime(QDate(2010, 4, 7), QTime(6, 59, 59)); |
|
304 expectedOutput = 419; |
|
305 actulOutput = CalenDateUtils::timeOfDay(dateTime); |
|
306 QCOMPARE(actulOutput, expectedOutput); |
|
307 |
|
308 dateTime = QDateTime(QDate(2010, 4, 7), QTime(12, 60, 60)); |
|
309 expectedOutput = 0; |
|
310 actulOutput = CalenDateUtils::timeOfDay(dateTime); |
|
311 QCOMPARE(actulOutput, expectedOutput); |
|
312 } |
|
313 |
|
314 /*! |
|
315 This function is to test the api of CalenDateUtils::roundToPreviousHour. |
|
316 */ |
|
317 void TestCalenDateUtils::test_roundToPreviousHour() |
|
318 { |
|
319 QDateTime dateTime = QDateTime(QDate(1900, 1, 1), QTime(23, 59, 59)); |
|
320 QDateTime actulOutput = CalenDateUtils::roundToPreviousHour(dateTime); |
|
321 QDateTime expectedOutput(QDate(1900, 1, 1), QTime(23, 0)); |
|
322 QCOMPARE(actulOutput, expectedOutput); |
|
323 |
|
324 dateTime = QDateTime(QDate(2010, 12, 8), QTime(12, 30)); |
|
325 expectedOutput = QDateTime(QDate(2010, 12, 8), QTime(12, 0)); |
|
326 actulOutput = CalenDateUtils::roundToPreviousHour(dateTime); |
|
327 QCOMPARE(actulOutput, expectedOutput); |
|
328 |
|
329 dateTime = QDateTime(QDate(2010, 12, 8), QTime(6, 59, 59, 999)); |
|
330 expectedOutput = QDateTime(QDate(2010, 12, 8), QTime(6, 0)); |
|
331 actulOutput = CalenDateUtils::roundToPreviousHour(dateTime); |
|
332 QCOMPARE(actulOutput, expectedOutput); |
|
333 |
|
334 dateTime = QDateTime(QDate(2010, 4, 3), QTime(12, 60, 60)); |
|
335 expectedOutput = QDateTime(QDate(2010, 4, 3)); |
|
336 actulOutput = CalenDateUtils::roundToPreviousHour(dateTime); |
|
337 QCOMPARE(actulOutput, expectedOutput); |
|
338 } |
|
339 |
|
340 /*! |
|
341 This function is to test the api of CalenDateUtils::roundToPreviousHour. |
|
342 */ |
|
343 void TestCalenDateUtils::test_roundToPreviousHourFromMinutes() |
|
344 { |
|
345 int minutes = 145; |
|
346 int actulOutput = CalenDateUtils::roundToPreviousHour(minutes); |
|
347 int expectedOutput = 120; |
|
348 QCOMPARE(actulOutput, expectedOutput); |
|
349 |
|
350 minutes = -255; |
|
351 expectedOutput = -240; |
|
352 actulOutput = CalenDateUtils::roundToPreviousHour(minutes); |
|
353 QCOMPARE(actulOutput, expectedOutput); |
|
354 |
|
355 minutes = 606; |
|
356 expectedOutput = 600; |
|
357 actulOutput = CalenDateUtils::roundToPreviousHour(minutes); |
|
358 QCOMPARE(actulOutput, expectedOutput); |
|
359 } |
|
360 |
|
361 /*! |
|
362 This function is to test the api of CalenDateUtils::now. |
|
363 */ |
|
364 void TestCalenDateUtils::test_now() |
|
365 { |
|
366 QCOMPARE(CalenDateUtils::now() , QDateTime::currentDateTime()); |
|
367 } |
|
368 |
|
369 /*! |
|
370 This function is to test the api of CalenDateUtils::today. |
|
371 */ |
|
372 void TestCalenDateUtils::test_today() |
|
373 { |
|
374 QDateTime expectedTime = QDateTime::currentDateTime(); |
|
375 expectedTime.setTime(QTime(0,0)); |
|
376 QCOMPARE(CalenDateUtils::today() , expectedTime ); |
|
377 } |
|
378 |
|
379 /*! |
|
380 This function is to test the api of CalenDateUtils::isOnToday. |
|
381 */ |
|
382 void TestCalenDateUtils::test_isOnToday() |
|
383 { |
|
384 QVERIFY(CalenDateUtils::isOnToday(QDateTime::currentDateTime())); |
|
385 QDateTime dateTime = QDateTime::currentDateTime().addDays(1); |
|
386 QVERIFY(!CalenDateUtils::isOnToday(dateTime)); |
|
387 } |
|
388 |
|
389 /*! |
|
390 This function is to test the api of CalenDateUtils::defaultTime. |
|
391 */ |
|
392 void TestCalenDateUtils::test_defaultTime() |
|
393 { |
|
394 QDateTime dateTime = QDateTime(QDate(2010, 3, 2)); |
|
395 QDateTime expectedOutput = dateTime; |
|
396 // 8:00 am is default time for Calendar Editor |
|
397 expectedOutput.setTime(QTime(8, 0)); |
|
398 QDateTime actualOutput = CalenDateUtils::defaultTime(dateTime); |
|
399 QCOMPARE(actualOutput, expectedOutput); |
|
400 } |
|
401 |
|
402 /*! |
|
403 This function is to test the api of CalenDateUtils::pastOf. |
|
404 */ |
|
405 void TestCalenDateUtils::test_pastOf() |
|
406 { |
|
407 QDateTime dateTime = QDateTime(QDate(2009, 11, 26)); |
|
408 QDateTime expectedOutput = QDateTime(QDate(2009, 10, 30)); |
|
409 QDateTime actualOutput = CalenDateUtils::pastOf(dateTime, 27); |
|
410 QCOMPARE(actualOutput, expectedOutput); |
|
411 } |
|
412 |
|
413 /*! |
|
414 This function is to test the api of CalenDateUtils::futureOf. |
|
415 */ |
|
416 void TestCalenDateUtils::test_futureOf() |
|
417 { |
|
418 QDateTime dateTime = QDateTime(QDate(2009, 10, 30)); |
|
419 QDateTime expectedOutput = QDateTime(QDate(2009, 11, 26)); |
|
420 QDateTime actualOutput = CalenDateUtils::futureOf(dateTime, 27); |
|
421 QCOMPARE(actualOutput, expectedOutput); |
|
422 } |
|
423 |
|
424 // End of file --Don't remove this. |