calendarui/views/dayview/tsrc/unittests/unittest_calendaystatusstrip/unittest_calendaystatusstrip.cpp
changeset 81 ce92091cbd61
parent 70 a5ed90760192
equal deleted inserted replaced
75:7ac58b2aae6f 81:ce92091cbd61
    22 
    22 
    23 #include <QPainter>
    23 #include <QPainter>
    24 #include <QImage>
    24 #include <QImage>
    25 #include <QPair>
    25 #include <QPair>
    26 
    26 
       
    27 #include "calendayutils.h"
       
    28 
    27 const qreal WIDGET_WIDTH = 50;
    29 const qreal WIDGET_WIDTH = 50;
    28 const qreal WIDGET_HEIGHT = 150;
    30 const qreal WIDGET_HEIGHT = 150;
    29 
    31 
    30 class TestCalenStatusStrip : public QObject
    32 class TestCalenStatusStrip : public QObject
    31 {
    33 {
   183 
   185 
   184 /*!
   186 /*!
   185    Test setting and getting start and end time of event
   187    Test setting and getting start and end time of event
   186    1)Set end and start of event
   188    1)Set end and start of event
   187    2)Change values
   189    2)Change values
       
   190    3)Setting event shorter than 300 seconds
       
   191    4)Setting event for 300 seconds
   188  */
   192  */
   189 void TestCalenStatusStrip::testStartEndTime()
   193 void TestCalenStatusStrip::testStartEndTime()
   190 {
   194 {
       
   195     //1)
   191     QPair<QTime, QTime> startEndTime;
   196     QPair<QTime, QTime> startEndTime;
   192     startEndTime.first = QTime(12,12,12);
   197     startEndTime.first = QTime(12,12,12);
   193     startEndTime.second = QTime(15,15,15);
   198     startEndTime.second = QTime(15,15,15);
   194     
   199     
   195     mStatusStrip->setStartEndTime(startEndTime.first,startEndTime.second);
   200     mStatusStrip->setStartEndTime(startEndTime.first,startEndTime.second);
   196     
   201     
   197     QCOMPARE(mStatusStrip->startEndTime().first,startEndTime.first);
   202     QCOMPARE(mStatusStrip->startEndTime().first,startEndTime.first);
   198     QCOMPARE(mStatusStrip->startEndTime().second,startEndTime.second);
   203     QCOMPARE(mStatusStrip->startEndTime().second,startEndTime.second);
   199     
   204     
       
   205     //2)
   200     startEndTime.first = QTime(1,1,1);
   206     startEndTime.first = QTime(1,1,1);
   201     startEndTime.second = QTime(5,5,5);
   207     startEndTime.second = QTime(5,5,5);
   202     
   208     
   203     mStatusStrip->setStartEndTime(startEndTime.first,startEndTime.second);
   209     mStatusStrip->setStartEndTime(startEndTime.first,startEndTime.second);
   204     
   210     
   205     QCOMPARE(mStatusStrip->startEndTime().first,startEndTime.first);
   211     QCOMPARE(mStatusStrip->startEndTime().first,startEndTime.first);
       
   212     QCOMPARE(mStatusStrip->startEndTime().second,startEndTime.second);
       
   213     
       
   214     //3)
       
   215     // if time less than 300 seconds set it to 300 seconds (5 minutes)
       
   216     startEndTime.first = QTime(0,0,0);
       
   217     startEndTime.second = QTime(0,4,59);
       
   218     mStatusStrip->setStartEndTime(startEndTime.first,startEndTime.second);
       
   219     startEndTime.second = QTime(startEndTime.first.hour(),
       
   220         startEndTime.first.minute() + 5);
       
   221     QCOMPARE(mStatusStrip->startEndTime().second,startEndTime.second);
       
   222 
       
   223     //4)
       
   224     // check if ok for 300 seconds
       
   225     startEndTime.second = QTime(0,5,00);
       
   226     mStatusStrip->setStartEndTime(startEndTime.first,startEndTime.second);
   206     QCOMPARE(mStatusStrip->startEndTime().second,startEndTime.second);
   227     QCOMPARE(mStatusStrip->startEndTime().second,startEndTime.second);
   207 }
   228 }
   208 
   229 
   209 /*!
   230 /*!
   210    Test creating polygon to draw diagonal line on widget
   231    Test creating polygon to draw diagonal line on widget
   312 
   333 
   313 /*!
   334 /*!
   314    Test calculating minute height based on widget height and given time.
   335    Test calculating minute height based on widget height and given time.
   315    1)Calculate on given time
   336    1)Calculate on given time
   316    2)Change time of event
   337    2)Change time of event
       
   338    3)For event longer than 15 minutes
       
   339    4)For event shorter than or equal to 15 minutes
   317  */
   340  */
   318 void TestCalenStatusStrip::testCalculateMinuteHegiht()
   341 void TestCalenStatusStrip::testCalculateMinuteHegiht()
   319 {   
   342 {   
   320     qreal testedValue;
   343     qreal testedValue;
   321     qreal testValue;
   344     qreal testValue;
   329     
   352     
   330     //2)
   353     //2)
   331     testedValue = mStatusStrip->calculateMinuteHeight(QTime(10,00,0),
   354     testedValue = mStatusStrip->calculateMinuteHeight(QTime(10,00,0),
   332                                                       QTime(11,30,0));
   355                                                       QTime(11,30,0));
   333     testValue = WIDGET_HEIGHT / (qreal)90;
   356     testValue = WIDGET_HEIGHT / (qreal)90;
       
   357     QCOMPARE(testedValue,testValue);
       
   358     
       
   359     //3)
       
   360     testedValue = mStatusStrip->calculateMinuteHeight(QTime(10,00,0),
       
   361                                                       QTime(10,29,0));
       
   362     testValue = CalenDayUtils::instance()->hourElementHeight() 
       
   363                     / ((qreal)2 * (qreal)29);
       
   364     QCOMPARE(testedValue,testValue);
       
   365     
       
   366     //4)
       
   367     testedValue = mStatusStrip->calculateMinuteHeight(QTime(10,00,0),
       
   368                                                       QTime(10,15,0));
       
   369     testValue = CalenDayUtils::instance()->hourElementHeight() 
       
   370                     / ((qreal)4 * (qreal)15);
   334     QCOMPARE(testedValue,testValue);
   371     QCOMPARE(testedValue,testValue);
   335 }
   372 }
   336 
   373 
   337 
   374 
   338 /*!
   375 /*!
   368 #ifdef SAVE_IMAGES
   405 #ifdef SAVE_IMAGES
   369     //save drawed image
   406     //save drawed image
   370     img.save("c:/unittest/TestCalenStatusStrip_testPaint.jpg");
   407     img.save("c:/unittest/TestCalenStatusStrip_testPaint.jpg");
   371     
   408     
   372 #endif
   409 #endif
   373 
   410     
       
   411     //2)
       
   412     //preapre data needed to draw on widget
       
   413     startEndTime.first = QTime(10,59,0);
       
   414     startEndTime.second = QTime(11,0,00);
       
   415 
       
   416     //set event time
       
   417     mStatusStrip->setStartEndTime(startEndTime.first,startEndTime.second);
       
   418 
       
   419     //resize widget to be bigger than (0,0)
       
   420     mStatusStrip->resize(WIDGET_WIDTH,WIDGET_HEIGHT);
       
   421     size = mStatusStrip->size().toSize();
       
   422 
       
   423     //create image that will simulate widget where painting should be done
       
   424     QImage img2(size, QImage::Format_RGB32);
       
   425     //create painter which will be used to paint
       
   426     QPainter painter2(&img2);
       
   427     //fill image with white color to have better filings with look of "paper"
       
   428     painter2.fillRect(0,0,size.width(),size.height(),QColor(Qt::white));
       
   429     // set drawing style
       
   430     mStatusStrip->setDrawingStyle(CalenDayStatusStrip::StripWithLines);
       
   431     //run paint
       
   432     mStatusStrip->paint(&painter2,0);
       
   433 
       
   434 #ifdef SAVE_IMAGES
       
   435     //save drawed image
       
   436     img2.save("c:/unittest/TestCalenStatusStrip_testPaintTC2.jpg");
       
   437 
       
   438 #endif
       
   439 
       
   440     //3)
       
   441     //preapre data needed to draw on widget
       
   442     startEndTime.first = QTime(10,59,0);
       
   443     startEndTime.second = QTime(11,0,00);
       
   444 
       
   445     //set event time
       
   446     mStatusStrip->setStartEndTime(startEndTime.first,startEndTime.second);
       
   447 
       
   448     //resize widget to be bigger than (0,0)
       
   449     mStatusStrip->resize(WIDGET_WIDTH,WIDGET_HEIGHT);
       
   450     size = mStatusStrip->size().toSize();
       
   451 
       
   452     //create image that will simulate widget where painting should be done
       
   453     QImage img3(size, QImage::Format_RGB32);
       
   454     //create painter which will be used to paint
       
   455     QPainter painter3(&img3);
       
   456     //fill image with white color to have better filings with look of "paper"
       
   457     painter3.fillRect(0,0,size.width(),size.height(),QColor(Qt::white));
       
   458     // set drawing style
       
   459     mStatusStrip->setDrawingStyle(CalenDayStatusStrip::OnlyFrame);
       
   460     //run paint
       
   461     mStatusStrip->paint(&painter3,0);
       
   462 
       
   463 #ifdef SAVE_IMAGES
       
   464     //save drawed image
       
   465     img3.save("c:/unittest/TestCalenStatusStrip_testPaintTC3.jpg");
       
   466 
       
   467 #endif
   374 }
   468 }
   375 
   469 
   376 QTEST_MAIN(TestCalenStatusStrip);
   470 QTEST_MAIN(TestCalenStatusStrip);
   377 #include "unittest_calendaystatusstrip.moc"
   471 #include "unittest_calendaystatusstrip.moc"