calendarui/views/dayview/tsrc/unittests/unittest_calendayhourscrollarea/unittest_calendayhourscrollarea.cpp
changeset 81 ce92091cbd61
parent 55 2c54b51f39c4
equal deleted inserted replaced
75:7ac58b2aae6f 81:ce92091cbd61
    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 {
    43 
    48 
    44     void testConstructors();
    49     void testConstructors();
    45     void testSetGetDateTime();
    50     void testSetGetDateTime();
    46     void testScrollToHour();
    51     void testScrollToHour();
    47     void testscrollVertically();
    52     void testscrollVertically();
       
    53     void testLocaleChanged();
       
    54     void testUpdateTimeIndicator();
    48 
    55 
    49 private:
    56 private:
    50     CalenDayHourScrollArea *mHourScrollArea;
    57     CalenDayHourScrollArea *mHourScrollArea;
    51 };
    58 };
    52 
    59 
   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"