calendarui/views/dayview/tsrc/unittests/unittest_calendaystatusstrip/unittest_calendaystatusstrip.cpp
author hgs
Mon, 06 Sep 2010 10:12:45 +0530
changeset 70 a5ed90760192
parent 63 a3cb48f6c889
child 81 ce92091cbd61
permissions -rw-r--r--
201035
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
45
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
 * All rights reserved.
hgs
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
 *
hgs
parents:
diff changeset
     9
 * Initial Contributors:
hgs
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
 *
hgs
parents:
diff changeset
    12
 * Contributors:
hgs
parents:
diff changeset
    13
 *
hgs
parents:
diff changeset
    14
 * Description: Test class for CalenDayContentWidget
hgs
parents:
diff changeset
    15
 *
hgs
parents:
diff changeset
    16
 */
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#include <QtTest/QtTest>
hgs
parents:
diff changeset
    19
#include <QGraphicsItem>
hgs
parents:
diff changeset
    20
hgs
parents:
diff changeset
    21
#include "calendaystatusstriptest.h"
hgs
parents:
diff changeset
    22
hgs
parents:
diff changeset
    23
#include <QPainter>
hgs
parents:
diff changeset
    24
#include <QImage>
hgs
parents:
diff changeset
    25
#include <QPair>
hgs
parents:
diff changeset
    26
hgs
parents:
diff changeset
    27
const qreal WIDGET_WIDTH = 50;
hgs
parents:
diff changeset
    28
const qreal WIDGET_HEIGHT = 150;
hgs
parents:
diff changeset
    29
hgs
parents:
diff changeset
    30
class TestCalenStatusStrip : public QObject
hgs
parents:
diff changeset
    31
{
hgs
parents:
diff changeset
    32
Q_OBJECT
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
public:
hgs
parents:
diff changeset
    35
    TestCalenStatusStrip();
hgs
parents:
diff changeset
    36
    virtual ~TestCalenStatusStrip();
hgs
parents:
diff changeset
    37
hgs
parents:
diff changeset
    38
private slots:
hgs
parents:
diff changeset
    39
    void initTestCase();
hgs
parents:
diff changeset
    40
    void cleanupTestCase();
hgs
parents:
diff changeset
    41
    void init();
hgs
parents:
diff changeset
    42
    void cleanup();
hgs
parents:
diff changeset
    43
hgs
parents:
diff changeset
    44
    void testConstructors();
hgs
parents:
diff changeset
    45
    void testSetGetRange();
hgs
parents:
diff changeset
    46
    void testSetGetDrawingStyle_data();
hgs
parents:
diff changeset
    47
    void testSetGetDrawingStyle();
hgs
parents:
diff changeset
    48
    void testStartEndTime();
hgs
parents:
diff changeset
    49
    void testCreatingDiagonalLine();
hgs
parents:
diff changeset
    50
    void testCalculateStartEndTimePosition_data();
hgs
parents:
diff changeset
    51
    void testCalculateStartEndTimePosition();
hgs
parents:
diff changeset
    52
    void testCalculateMinuteHegiht();
hgs
parents:
diff changeset
    53
    void testPaint();
hgs
parents:
diff changeset
    54
hgs
parents:
diff changeset
    55
private:
hgs
parents:
diff changeset
    56
    CalenDayStatusStripTest *mStatusStrip;
hgs
parents:
diff changeset
    57
};
hgs
parents:
diff changeset
    58
hgs
parents:
diff changeset
    59
hgs
parents:
diff changeset
    60
hgs
parents:
diff changeset
    61
hgs
parents:
diff changeset
    62
/*!
hgs
parents:
diff changeset
    63
 Constructor
hgs
parents:
diff changeset
    64
 */
hgs
parents:
diff changeset
    65
TestCalenStatusStrip::TestCalenStatusStrip() :
hgs
parents:
diff changeset
    66
   mStatusStrip(NULL)
hgs
parents:
diff changeset
    67
{
hgs
parents:
diff changeset
    68
hgs
parents:
diff changeset
    69
}
hgs
parents:
diff changeset
    70
hgs
parents:
diff changeset
    71
/*!
hgs
parents:
diff changeset
    72
 Destructor
hgs
parents:
diff changeset
    73
 */
hgs
parents:
diff changeset
    74
TestCalenStatusStrip::~TestCalenStatusStrip()
hgs
parents:
diff changeset
    75
{
hgs
parents:
diff changeset
    76
hgs
parents:
diff changeset
    77
}
hgs
parents:
diff changeset
    78
hgs
parents:
diff changeset
    79
/*!
hgs
parents:
diff changeset
    80
 Called before testcase
hgs
parents:
diff changeset
    81
 */
hgs
parents:
diff changeset
    82
void TestCalenStatusStrip::initTestCase()
hgs
parents:
diff changeset
    83
{
hgs
parents:
diff changeset
    84
}
hgs
parents:
diff changeset
    85
hgs
parents:
diff changeset
    86
/*!
hgs
parents:
diff changeset
    87
 Called after testcase
hgs
parents:
diff changeset
    88
 */
hgs
parents:
diff changeset
    89
void TestCalenStatusStrip::cleanupTestCase()
hgs
parents:
diff changeset
    90
{
hgs
parents:
diff changeset
    91
hgs
parents:
diff changeset
    92
}
hgs
parents:
diff changeset
    93
hgs
parents:
diff changeset
    94
/*!
hgs
parents:
diff changeset
    95
 Called before every function
hgs
parents:
diff changeset
    96
 */
hgs
parents:
diff changeset
    97
void TestCalenStatusStrip::init()
hgs
parents:
diff changeset
    98
{
hgs
parents:
diff changeset
    99
    mStatusStrip = new CalenDayStatusStripTest();
hgs
parents:
diff changeset
   100
}
hgs
parents:
diff changeset
   101
hgs
parents:
diff changeset
   102
/*!
hgs
parents:
diff changeset
   103
 Called after everyfunction
hgs
parents:
diff changeset
   104
 */
hgs
parents:
diff changeset
   105
void TestCalenStatusStrip::cleanup()
hgs
parents:
diff changeset
   106
{
hgs
parents:
diff changeset
   107
    if (mStatusStrip) {
hgs
parents:
diff changeset
   108
        delete mStatusStrip;
hgs
parents:
diff changeset
   109
        mStatusStrip = NULL;
hgs
parents:
diff changeset
   110
    }
hgs
parents:
diff changeset
   111
}
hgs
parents:
diff changeset
   112
hgs
parents:
diff changeset
   113
/*!
hgs
parents:
diff changeset
   114
 Test function for constructors
hgs
parents:
diff changeset
   115
 1. Test if content widget is not initialized
hgs
parents:
diff changeset
   116
 2. Test if content widget is correcty created
hgs
parents:
diff changeset
   117
 */
hgs
parents:
diff changeset
   118
void TestCalenStatusStrip::testConstructors()
hgs
parents:
diff changeset
   119
{
hgs
parents:
diff changeset
   120
    //1)
hgs
parents:
diff changeset
   121
    CalenDayStatusStrip *testStatusStrip = 0;
hgs
parents:
diff changeset
   122
    QVERIFY(!testStatusStrip);
hgs
parents:
diff changeset
   123
    
hgs
parents:
diff changeset
   124
    //2)
hgs
parents:
diff changeset
   125
    testStatusStrip = new CalenDayStatusStrip();
hgs
parents:
diff changeset
   126
    QVERIFY(testStatusStrip);
hgs
parents:
diff changeset
   127
    delete testStatusStrip;
hgs
parents:
diff changeset
   128
}
hgs
parents:
diff changeset
   129
hgs
parents:
diff changeset
   130
/*!
hgs
parents:
diff changeset
   131
   Test function for geting and setting range
hgs
parents:
diff changeset
   132
   1. Test setting 5px range
hgs
parents:
diff changeset
   133
   2. Test change range to 1px
hgs
parents:
diff changeset
   134
 */
hgs
parents:
diff changeset
   135
void TestCalenStatusStrip::testSetGetRange()
hgs
parents:
diff changeset
   136
{
hgs
parents:
diff changeset
   137
    //1)
hgs
parents:
diff changeset
   138
    mStatusStrip->setRange(5);
hgs
parents:
diff changeset
   139
    QCOMPARE((qreal)5,mStatusStrip->range());
hgs
parents:
diff changeset
   140
    
hgs
parents:
diff changeset
   141
    //2)
hgs
parents:
diff changeset
   142
    mStatusStrip->setRange(1);
hgs
parents:
diff changeset
   143
    QCOMPARE((qreal)1,mStatusStrip->range());
hgs
parents:
diff changeset
   144
}
hgs
parents:
diff changeset
   145
hgs
parents:
diff changeset
   146
/*!
hgs
parents:
diff changeset
   147
   Preapre data for \sa testSetGetDrawingStyle
hgs
parents:
diff changeset
   148
   Add new enum \sa CalenDayStatusStrip::DrawingStyle
hgs
parents:
diff changeset
   149
   1)OnlyFrame
hgs
parents:
diff changeset
   150
   2)StripWithLines
hgs
parents:
diff changeset
   151
   3)Filled
hgs
parents:
diff changeset
   152
 */
hgs
parents:
diff changeset
   153
void TestCalenStatusStrip::testSetGetDrawingStyle_data()
hgs
parents:
diff changeset
   154
{
hgs
parents:
diff changeset
   155
    QTest::addColumn<CalenDayStatusStrip::DrawingStyle>("testedValue");    
hgs
parents:
diff changeset
   156
    QTest::addColumn<CalenDayStatusStrip::DrawingStyle>("testValue");
hgs
parents:
diff changeset
   157
    
hgs
parents:
diff changeset
   158
    QTest::newRow("OnlyFrame") << CalenDayStatusStrip::OnlyFrame 
hgs
parents:
diff changeset
   159
                               << CalenDayStatusStrip::OnlyFrame;
hgs
parents:
diff changeset
   160
    QTest::newRow("StripWithLines") << CalenDayStatusStrip::StripWithLines 
hgs
parents:
diff changeset
   161
                                    << CalenDayStatusStrip::StripWithLines; 
hgs
parents:
diff changeset
   162
    QTest::newRow("Filled") << CalenDayStatusStrip::Filled 
hgs
parents:
diff changeset
   163
                            << CalenDayStatusStrip::Filled;   
hgs
parents:
diff changeset
   164
}
hgs
parents:
diff changeset
   165
hgs
parents:
diff changeset
   166
/*!
hgs
parents:
diff changeset
   167
   Test settting and getting drawing style on preapred data
hgs
parents:
diff changeset
   168
   
hgs
parents:
diff changeset
   169
   \sa testSetGetDrawingStyle_data
hgs
parents:
diff changeset
   170
 */
hgs
parents:
diff changeset
   171
void TestCalenStatusStrip::testSetGetDrawingStyle()
hgs
parents:
diff changeset
   172
{ 
hgs
parents:
diff changeset
   173
    //get data to test
hgs
parents:
diff changeset
   174
    QFETCH(CalenDayStatusStrip::DrawingStyle, testedValue); 
hgs
parents:
diff changeset
   175
    QFETCH(CalenDayStatusStrip::DrawingStyle, testValue); 
hgs
parents:
diff changeset
   176
    
hgs
parents:
diff changeset
   177
    //set data
hgs
parents:
diff changeset
   178
    mStatusStrip->setDrawingStyle(testedValue);
hgs
parents:
diff changeset
   179
    
hgs
parents:
diff changeset
   180
    //check data
hgs
parents:
diff changeset
   181
    QCOMPARE(mStatusStrip->drawingStyle(),testValue);
hgs
parents:
diff changeset
   182
}
hgs
parents:
diff changeset
   183
hgs
parents:
diff changeset
   184
/*!
hgs
parents:
diff changeset
   185
   Test setting and getting start and end time of event
hgs
parents:
diff changeset
   186
   1)Set end and start of event
hgs
parents:
diff changeset
   187
   2)Change values
hgs
parents:
diff changeset
   188
 */
hgs
parents:
diff changeset
   189
void TestCalenStatusStrip::testStartEndTime()
hgs
parents:
diff changeset
   190
{
hgs
parents:
diff changeset
   191
    QPair<QTime, QTime> startEndTime;
hgs
parents:
diff changeset
   192
    startEndTime.first = QTime(12,12,12);
hgs
parents:
diff changeset
   193
    startEndTime.second = QTime(15,15,15);
hgs
parents:
diff changeset
   194
    
hgs
parents:
diff changeset
   195
    mStatusStrip->setStartEndTime(startEndTime.first,startEndTime.second);
hgs
parents:
diff changeset
   196
    
hgs
parents:
diff changeset
   197
    QCOMPARE(mStatusStrip->startEndTime().first,startEndTime.first);
hgs
parents:
diff changeset
   198
    QCOMPARE(mStatusStrip->startEndTime().second,startEndTime.second);
hgs
parents:
diff changeset
   199
    
hgs
parents:
diff changeset
   200
    startEndTime.first = QTime(1,1,1);
hgs
parents:
diff changeset
   201
    startEndTime.second = QTime(5,5,5);
hgs
parents:
diff changeset
   202
    
hgs
parents:
diff changeset
   203
    mStatusStrip->setStartEndTime(startEndTime.first,startEndTime.second);
hgs
parents:
diff changeset
   204
    
hgs
parents:
diff changeset
   205
    QCOMPARE(mStatusStrip->startEndTime().first,startEndTime.first);
hgs
parents:
diff changeset
   206
    QCOMPARE(mStatusStrip->startEndTime().second,startEndTime.second);
hgs
parents:
diff changeset
   207
}
hgs
parents:
diff changeset
   208
hgs
parents:
diff changeset
   209
/*!
hgs
parents:
diff changeset
   210
   Test creating polygon to draw diagonal line on widget
hgs
parents:
diff changeset
   211
 */
hgs
parents:
diff changeset
   212
void TestCalenStatusStrip::testCreatingDiagonalLine()
hgs
parents:
diff changeset
   213
{
hgs
parents:
diff changeset
   214
    qreal dx = 10;
hgs
parents:
diff changeset
   215
    qreal dy = 1;
hgs
parents:
diff changeset
   216
    QPointF point(0,60);
hgs
parents:
diff changeset
   217
    QVector<QPointF> points;
hgs
parents:
diff changeset
   218
    
hgs
parents:
diff changeset
   219
    points << QPointF(0,60);
hgs
parents:
diff changeset
   220
    points << QPointF(0,59);
hgs
parents:
diff changeset
   221
    points << QPointF(10,58);
hgs
parents:
diff changeset
   222
    points << QPointF(10,59);
hgs
parents:
diff changeset
   223
    
hgs
parents:
diff changeset
   224
    QPolygonF testValue(points);
hgs
parents:
diff changeset
   225
    QPolygonF testedValue = mStatusStrip->diagonalLine(point,dx,dy);
hgs
parents:
diff changeset
   226
    
hgs
parents:
diff changeset
   227
    QCOMPARE(testedValue,testValue);
hgs
parents:
diff changeset
   228
}
hgs
parents:
diff changeset
   229
hgs
parents:
diff changeset
   230
/*!
hgs
parents:
diff changeset
   231
   Prepare data for \sa testCalculateStartEndTimePosition
hgs
parents:
diff changeset
   232
   Add new start and end time of event.
hgs
parents:
diff changeset
   233
   1)Full time start and end
hgs
parents:
diff changeset
   234
   2)Exactly 30min time start and end
hgs
parents:
diff changeset
   235
   3)More than 30min time start and end
hgs
parents:
diff changeset
   236
   4)time start > 30m and end > 23h30m
hgs
parents:
diff changeset
   237
 */
hgs
parents:
diff changeset
   238
void TestCalenStatusStrip::testCalculateStartEndTimePosition_data()
hgs
parents:
diff changeset
   239
{
hgs
parents:
diff changeset
   240
    QTest::addColumn<QTime>("testedStartValue");
hgs
parents:
diff changeset
   241
    QTest::addColumn<QTime>("testedEndValue");
hgs
parents:
diff changeset
   242
    QTest::addColumn<QTime>("testStartValue");
hgs
parents:
diff changeset
   243
    QTest::addColumn<QTime>("testEndValue");
hgs
parents:
diff changeset
   244
    
70
hgs
parents: 63
diff changeset
   245
    QTest::newRow("Full time start and end")
hgs
parents: 63
diff changeset
   246
        <<  QTime(10,00,00)
hgs
parents: 63
diff changeset
   247
        <<  QTime(11,00,00)
hgs
parents: 63
diff changeset
   248
        <<  QTime(10,00,00)
hgs
parents: 63
diff changeset
   249
        <<  QTime(11,00,00);
hgs
parents: 63
diff changeset
   250
    QTest::newRow("Exactly 15m time start and end") 
hgs
parents: 63
diff changeset
   251
        << QTime(10, 15, 00)
hgs
parents: 63
diff changeset
   252
        << QTime(11, 15, 00)
hgs
parents: 63
diff changeset
   253
        << QTime(10, 15, 00)
hgs
parents: 63
diff changeset
   254
        << QTime(11, 15, 00);
hgs
parents: 63
diff changeset
   255
    QTest::newRow("More than 15m, less than 30m time start and end") 
hgs
parents: 63
diff changeset
   256
        <<  QTime(10,18,00)
hgs
parents: 63
diff changeset
   257
        <<  QTime(10,24,00)
hgs
parents: 63
diff changeset
   258
        <<  QTime(10,15,00)
hgs
parents: 63
diff changeset
   259
        <<  QTime(10,30,00);
hgs
parents: 63
diff changeset
   260
    QTest::newRow("Exactly 30m time start and end") 
hgs
parents: 63
diff changeset
   261
        << QTime(9, 30, 00)
hgs
parents: 63
diff changeset
   262
        << QTime(10, 30, 00)
hgs
parents: 63
diff changeset
   263
        << QTime(9, 30, 00)
hgs
parents: 63
diff changeset
   264
        << QTime(10, 30, 00);
hgs
parents: 63
diff changeset
   265
    QTest::newRow("More than 30m, less than 45m time start and end") 
hgs
parents: 63
diff changeset
   266
        <<  QTime(10,32,00)
hgs
parents: 63
diff changeset
   267
        <<  QTime(10,43,00)
hgs
parents: 63
diff changeset
   268
        <<  QTime(10,30,00)
hgs
parents: 63
diff changeset
   269
        <<  QTime(10,45,00);
hgs
parents: 63
diff changeset
   270
    QTest::newRow("Exactly 45m time start and end") 
hgs
parents: 63
diff changeset
   271
        << QTime(9, 45, 00)
hgs
parents: 63
diff changeset
   272
        << QTime(10, 45, 00)
hgs
parents: 63
diff changeset
   273
        << QTime(9, 45, 00)
hgs
parents: 63
diff changeset
   274
        << QTime(10, 45, 00);
hgs
parents: 63
diff changeset
   275
    QTest::newRow("More than 45m, less than 60m time start and end") 
hgs
parents: 63
diff changeset
   276
        <<  QTime(10,48,00)
hgs
parents: 63
diff changeset
   277
        <<  QTime(10,57,00)
hgs
parents: 63
diff changeset
   278
        <<  QTime(10,45,00)
hgs
parents: 63
diff changeset
   279
        <<  QTime(11,00,00);
hgs
parents: 63
diff changeset
   280
    QTest::newRow("time start > 45m and end > 23h45m") 
hgs
parents: 63
diff changeset
   281
        <<  QTime(20,47,00)
hgs
parents: 63
diff changeset
   282
        <<  QTime(23,55,00)
hgs
parents: 63
diff changeset
   283
        <<  QTime(20,45,00)
hgs
parents: 63
diff changeset
   284
        <<  QTime(23,59,00);
hgs
parents: 63
diff changeset
   285
    QTest::newRow("time start < 30m and (23h30m < end < 23h45m")
hgs
parents: 63
diff changeset
   286
        <<  QTime(11,19,00)
hgs
parents: 63
diff changeset
   287
        <<  QTime(23,38,00)
hgs
parents: 63
diff changeset
   288
        <<  QTime(11,15,00)
hgs
parents: 63
diff changeset
   289
        <<  QTime(23,45,00);
45
hgs
parents:
diff changeset
   290
}
hgs
parents:
diff changeset
   291
hgs
parents:
diff changeset
   292
/*!
hgs
parents:
diff changeset
   293
   Test calculating start and end time drawing of event bubble on prepared data
hgs
parents:
diff changeset
   294
   \sa testCalculateStartEndTimePosition_data
hgs
parents:
diff changeset
   295
 */
hgs
parents:
diff changeset
   296
void TestCalenStatusStrip::testCalculateStartEndTimePosition()
hgs
parents:
diff changeset
   297
{
hgs
parents:
diff changeset
   298
    //get prepared data
hgs
parents:
diff changeset
   299
    QFETCH(QTime, testedStartValue); 
hgs
parents:
diff changeset
   300
    QFETCH(QTime, testedEndValue); 
hgs
parents:
diff changeset
   301
    QFETCH(QTime, testStartValue); 
hgs
parents:
diff changeset
   302
    QFETCH(QTime, testEndValue); 
hgs
parents:
diff changeset
   303
    
hgs
parents:
diff changeset
   304
    //run function
hgs
parents:
diff changeset
   305
    QPair<QTime,QTime> testStartEndValue 
hgs
parents:
diff changeset
   306
                     = mStatusStrip->calculateStartEndPostion(testedStartValue,
70
hgs
parents: 63
diff changeset
   307
                         testedEndValue);
45
hgs
parents:
diff changeset
   308
    //check data
hgs
parents:
diff changeset
   309
    QCOMPARE(testStartEndValue.first,testStartValue);
hgs
parents:
diff changeset
   310
    QCOMPARE(testStartEndValue.second,testEndValue);
hgs
parents:
diff changeset
   311
}
hgs
parents:
diff changeset
   312
hgs
parents:
diff changeset
   313
/*!
hgs
parents:
diff changeset
   314
   Test calculating minute height based on widget height and given time.
hgs
parents:
diff changeset
   315
   1)Calculate on given time
hgs
parents:
diff changeset
   316
   2)Change time of event
hgs
parents:
diff changeset
   317
 */
hgs
parents:
diff changeset
   318
void TestCalenStatusStrip::testCalculateMinuteHegiht()
hgs
parents:
diff changeset
   319
{   
hgs
parents:
diff changeset
   320
    qreal testedValue;
hgs
parents:
diff changeset
   321
    qreal testValue;
hgs
parents:
diff changeset
   322
    mStatusStrip->resize(WIDGET_WIDTH,WIDGET_HEIGHT);
hgs
parents:
diff changeset
   323
    
hgs
parents:
diff changeset
   324
    //1)
hgs
parents:
diff changeset
   325
    testedValue = mStatusStrip->calculateMinuteHeight(QTime(10,00,0),
hgs
parents:
diff changeset
   326
                                                      QTime(11,00,0));
hgs
parents:
diff changeset
   327
    testValue = WIDGET_HEIGHT / (qreal)60;
hgs
parents:
diff changeset
   328
    QCOMPARE(testedValue,testValue);
hgs
parents:
diff changeset
   329
    
hgs
parents:
diff changeset
   330
    //2)
hgs
parents:
diff changeset
   331
    testedValue = mStatusStrip->calculateMinuteHeight(QTime(10,00,0),
hgs
parents:
diff changeset
   332
                                                      QTime(11,30,0));
hgs
parents:
diff changeset
   333
    testValue = WIDGET_HEIGHT / (qreal)90;
hgs
parents:
diff changeset
   334
    QCOMPARE(testedValue,testValue);
hgs
parents:
diff changeset
   335
}
hgs
parents:
diff changeset
   336
hgs
parents:
diff changeset
   337
hgs
parents:
diff changeset
   338
/*!
hgs
parents:
diff changeset
   339
   Test drawing widget.
hgs
parents:
diff changeset
   340
   
hgs
parents:
diff changeset
   341
   If there is no SAVE_IMAGES macro defined it will only run this function.
hgs
parents:
diff changeset
   342
   If there is macro defined and c:\unittest folder created then image will be
hgs
parents:
diff changeset
   343
   created so user can see if it draw in good way.
hgs
parents:
diff changeset
   344
 */
hgs
parents:
diff changeset
   345
void TestCalenStatusStrip::testPaint()
hgs
parents:
diff changeset
   346
{      
hgs
parents:
diff changeset
   347
    //preapre data needed to draw on widget
hgs
parents:
diff changeset
   348
    QPair<QTime, QTime> startEndTime;
hgs
parents:
diff changeset
   349
    startEndTime.first = QTime(10,20,0);
hgs
parents:
diff changeset
   350
    startEndTime.second = QTime(15,10,00);
hgs
parents:
diff changeset
   351
    
hgs
parents:
diff changeset
   352
    //set event time
hgs
parents:
diff changeset
   353
    mStatusStrip->setStartEndTime(startEndTime.first,startEndTime.second);
hgs
parents:
diff changeset
   354
    
hgs
parents:
diff changeset
   355
    //resize widget to be bigger than (0,0)
hgs
parents:
diff changeset
   356
    mStatusStrip->resize(WIDGET_WIDTH,WIDGET_HEIGHT);
hgs
parents:
diff changeset
   357
    QSize size = mStatusStrip->size().toSize();
hgs
parents:
diff changeset
   358
    
hgs
parents:
diff changeset
   359
    //create image that will simulate widget where painting should be done
hgs
parents:
diff changeset
   360
    QImage img(size,QImage::Format_RGB32);
hgs
parents:
diff changeset
   361
    //create painter which will be used to paint
hgs
parents:
diff changeset
   362
    QPainter painter(&img);
hgs
parents:
diff changeset
   363
    //fill image with white color to have better filings with look of "paper"
hgs
parents:
diff changeset
   364
    painter.fillRect(0,0,size.width(),size.height(),QColor(Qt::white));
hgs
parents:
diff changeset
   365
    //run paint
hgs
parents:
diff changeset
   366
    mStatusStrip->paint(&painter,0);
hgs
parents:
diff changeset
   367
    
hgs
parents:
diff changeset
   368
#ifdef SAVE_IMAGES
hgs
parents:
diff changeset
   369
    //save drawed image
hgs
parents:
diff changeset
   370
    img.save("c:/unittest/TestCalenStatusStrip_testPaint.jpg");
hgs
parents:
diff changeset
   371
    
hgs
parents:
diff changeset
   372
#endif
hgs
parents:
diff changeset
   373
hgs
parents:
diff changeset
   374
}
hgs
parents:
diff changeset
   375
hgs
parents:
diff changeset
   376
QTEST_MAIN(TestCalenStatusStrip);
hgs
parents:
diff changeset
   377
#include "unittest_calendaystatusstrip.moc"