20 #include <QPainter> |
20 #include <QPainter> |
21 #include <QImage> |
21 #include <QImage> |
22 #include <QGraphicsScene> |
22 #include <QGraphicsScene> |
23 #include <hbstyleloader.h> |
23 #include <hbstyleloader.h> |
24 |
24 |
|
25 #define private public |
|
26 |
25 #include "calendayhourscrollarea.h" |
27 #include "calendayhourscrollarea.h" |
26 |
28 |
|
29 // Test variables |
|
30 bool gTestLocaleChanged = false; |
|
31 bool gTestUpdatePerformed = false; |
27 const qreal WIDGET_WIDTH = 300; |
32 const qreal WIDGET_WIDTH = 300; |
28 const qreal WIDGET_HEIGHT = 1000; |
33 const qreal WIDGET_HEIGHT = 1000; |
29 |
34 |
30 class TestCalenDayHourScrollArea : public QObject |
35 class TestCalenDayHourScrollArea : public QObject |
31 { |
36 { |
223 //create image that will simulate widget where painting should be done |
230 //create image that will simulate widget where painting should be done |
224 QPixmap img(size); |
231 QPixmap img(size); |
225 //create painter which will be used to paint |
232 //create painter which will be used to paint |
226 QPainter painter; |
233 QPainter painter; |
227 |
234 |
228 //0 |
235 //1 |
229 mHourScrollArea->scrollVertically(QPoint(10,250)); |
236 mHourScrollArea->scrollVertically(QPoint(10,250)); |
230 painter.begin(&img); |
237 painter.begin(&img); |
231 painter.setRenderHint(QPainter::Antialiasing); |
238 painter.setRenderHint(QPainter::Antialiasing); |
232 painter.fillRect(0,0,size.width(),size.height(),QColor(Qt::gray)); |
239 painter.fillRect(0,0,size.width(),size.height(),QColor(Qt::gray)); |
233 scene.render(&painter); |
240 scene.render(&painter); |
234 painter.end(); |
241 painter.end(); |
235 #ifdef SAVE_IMAGES |
242 #ifdef SAVE_IMAGES |
236 //save drawed image |
243 //save drawed image |
237 img.save("c:/unittest/TestCalenDayHourScrollArea_testscrollVertically_250.png"); |
244 img.save("c:/unittest/TestCalenDayHourScrollArea_testscrollVertically_250.png"); |
238 #endif |
245 #endif |
239 //1 |
246 //2 |
240 mHourScrollArea->scrollVertically(QPoint(10,500)); |
247 mHourScrollArea->scrollVertically(QPoint(10,500)); |
241 painter.begin(&img); |
248 painter.begin(&img); |
242 painter.setRenderHint(QPainter::Antialiasing); |
249 painter.setRenderHint(QPainter::Antialiasing); |
243 painter.fillRect(0,0,size.width(),size.height(),QColor(Qt::gray)); |
250 painter.fillRect(0,0,size.width(),size.height(),QColor(Qt::gray)); |
244 scene.render(&painter); |
251 scene.render(&painter); |
245 painter.end(); |
252 painter.end(); |
246 #ifdef SAVE_IMAGES |
253 #ifdef SAVE_IMAGES |
247 //save drawed image |
254 //save drawed image |
248 img.save("c:/unittest/TestCalenDayHourScrollArea_testscrollVertically_500.png"); |
255 img.save("c:/unittest/TestCalenDayHourScrollArea_testscrollVertically_500.png"); |
249 #endif |
256 #endif |
250 //2 |
257 //3 |
251 mHourScrollArea->scrollVertically(QPoint(10,2000)); |
258 mHourScrollArea->scrollVertically(QPoint(10,2000)); |
252 painter.begin(&img); |
259 painter.begin(&img); |
253 painter.setRenderHint(QPainter::Antialiasing); |
260 painter.setRenderHint(QPainter::Antialiasing); |
254 painter.fillRect(0,0,size.width(),size.height(),QColor(Qt::gray)); |
261 painter.fillRect(0,0,size.width(),size.height(),QColor(Qt::gray)); |
255 scene.render(&painter); |
262 scene.render(&painter); |
259 img.save("c:/unittest/TestCalenDayHourScrollArea_testscrollVertically_2000.png"); |
266 img.save("c:/unittest/TestCalenDayHourScrollArea_testscrollVertically_2000.png"); |
260 #endif |
267 #endif |
261 scene.removeItem(mHourScrollArea); |
268 scene.removeItem(mHourScrollArea); |
262 } |
269 } |
263 |
270 |
|
271 /*! |
|
272 \brief It tests localeChanged slot |
|
273 1) test if localeChanged was called on hour elements |
|
274 2) test if nothing changes if there are no hour elements |
|
275 */ |
|
276 void TestCalenDayHourScrollArea::testLocaleChanged() |
|
277 { |
|
278 //1) |
|
279 gTestLocaleChanged = false; |
|
280 mHourScrollArea->localeChanged(); |
|
281 QCOMPARE(gTestLocaleChanged, true); |
|
282 |
|
283 //2) |
|
284 gTestLocaleChanged = false; |
|
285 // clear the list of elements |
|
286 mHourScrollArea->mHourElements.clear(); |
|
287 QCOMPARE(mHourScrollArea->mHourElements.count(), 0); |
|
288 mHourScrollArea->localeChanged(); |
|
289 QCOMPARE(gTestLocaleChanged, false); |
|
290 } |
|
291 |
|
292 /*! |
|
293 \brief It tests updateTimeIndicator slot |
|
294 1) hour elements > 0, update not performed for day before yesterday |
|
295 2) hour elements > 0, update performed for current day |
|
296 3) hour elements > 0, update not performed for day after tomorrow |
|
297 4) hour elements = 0, update not performed for day before yesterday |
|
298 5) hour elements = 0, update not performed for current day |
|
299 6) hour elements = 0, update not performed for day after tomorrow |
|
300 */ |
|
301 void TestCalenDayHourScrollArea::testUpdateTimeIndicator() |
|
302 { |
|
303 QDateTime currentDateTime = QDateTime::currentDateTime(); |
|
304 |
|
305 //1) |
|
306 gTestUpdatePerformed = false; |
|
307 mHourScrollArea->setDateTime(currentDateTime.addDays(-2)); |
|
308 mHourScrollArea->updateTimeIndicator(); |
|
309 QCOMPARE(gTestUpdatePerformed, false); |
|
310 |
|
311 //2) |
|
312 gTestUpdatePerformed = false; |
|
313 mHourScrollArea->setDateTime(currentDateTime); |
|
314 mHourScrollArea->updateTimeIndicator(); |
|
315 QCOMPARE(gTestUpdatePerformed, true); |
|
316 |
|
317 //3) |
|
318 gTestUpdatePerformed = false; |
|
319 mHourScrollArea->setDateTime(currentDateTime.addDays(2)); |
|
320 mHourScrollArea->updateTimeIndicator(); |
|
321 QCOMPARE(gTestUpdatePerformed, false); |
|
322 |
|
323 // clear the list of elements |
|
324 mHourScrollArea->mHourElements.clear(); |
|
325 QCOMPARE(mHourScrollArea->mHourElements.count(), 0); |
|
326 |
|
327 //4) |
|
328 gTestUpdatePerformed = false; |
|
329 mHourScrollArea->setDateTime(currentDateTime.addDays(-2)); |
|
330 mHourScrollArea->updateTimeIndicator(); |
|
331 QCOMPARE(gTestUpdatePerformed, false); |
|
332 |
|
333 //5) |
|
334 gTestUpdatePerformed = false; |
|
335 mHourScrollArea->setDateTime(currentDateTime); |
|
336 mHourScrollArea->updateTimeIndicator(); |
|
337 QCOMPARE(gTestUpdatePerformed, false); |
|
338 |
|
339 //6) |
|
340 gTestUpdatePerformed = false; |
|
341 mHourScrollArea->setDateTime(currentDateTime.addDays(2)); |
|
342 mHourScrollArea->updateTimeIndicator(); |
|
343 QCOMPARE(gTestUpdatePerformed, false); |
|
344 } |
|
345 |
264 QTEST_MAIN(TestCalenDayHourScrollArea); |
346 QTEST_MAIN(TestCalenDayHourScrollArea); |
265 #include "unittest_calendayhourscrollarea.moc" |
347 #include "unittest_calendayhourscrollarea.moc" |