calendarui/views/dayview/tsrc/unittests/unittest_calendaystatusstrip/unittest_calendaystatusstrip.cpp
author hgs
Tue, 05 Oct 2010 13:57:00 +0530
changeset 81 ce92091cbd61
parent 70 a5ed90760192
permissions -rw-r--r--
201039
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
81
hgs
parents: 70
diff changeset
    27
#include "calendayutils.h"
hgs
parents: 70
diff changeset
    28
45
hgs
parents:
diff changeset
    29
const qreal WIDGET_WIDTH = 50;
hgs
parents:
diff changeset
    30
const qreal WIDGET_HEIGHT = 150;
hgs
parents:
diff changeset
    31
hgs
parents:
diff changeset
    32
class TestCalenStatusStrip : public QObject
hgs
parents:
diff changeset
    33
{
hgs
parents:
diff changeset
    34
Q_OBJECT
hgs
parents:
diff changeset
    35
hgs
parents:
diff changeset
    36
public:
hgs
parents:
diff changeset
    37
    TestCalenStatusStrip();
hgs
parents:
diff changeset
    38
    virtual ~TestCalenStatusStrip();
hgs
parents:
diff changeset
    39
hgs
parents:
diff changeset
    40
private slots:
hgs
parents:
diff changeset
    41
    void initTestCase();
hgs
parents:
diff changeset
    42
    void cleanupTestCase();
hgs
parents:
diff changeset
    43
    void init();
hgs
parents:
diff changeset
    44
    void cleanup();
hgs
parents:
diff changeset
    45
hgs
parents:
diff changeset
    46
    void testConstructors();
hgs
parents:
diff changeset
    47
    void testSetGetRange();
hgs
parents:
diff changeset
    48
    void testSetGetDrawingStyle_data();
hgs
parents:
diff changeset
    49
    void testSetGetDrawingStyle();
hgs
parents:
diff changeset
    50
    void testStartEndTime();
hgs
parents:
diff changeset
    51
    void testCreatingDiagonalLine();
hgs
parents:
diff changeset
    52
    void testCalculateStartEndTimePosition_data();
hgs
parents:
diff changeset
    53
    void testCalculateStartEndTimePosition();
hgs
parents:
diff changeset
    54
    void testCalculateMinuteHegiht();
hgs
parents:
diff changeset
    55
    void testPaint();
hgs
parents:
diff changeset
    56
hgs
parents:
diff changeset
    57
private:
hgs
parents:
diff changeset
    58
    CalenDayStatusStripTest *mStatusStrip;
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
hgs
parents:
diff changeset
    64
/*!
hgs
parents:
diff changeset
    65
 Constructor
hgs
parents:
diff changeset
    66
 */
hgs
parents:
diff changeset
    67
TestCalenStatusStrip::TestCalenStatusStrip() :
hgs
parents:
diff changeset
    68
   mStatusStrip(NULL)
hgs
parents:
diff changeset
    69
{
hgs
parents:
diff changeset
    70
hgs
parents:
diff changeset
    71
}
hgs
parents:
diff changeset
    72
hgs
parents:
diff changeset
    73
/*!
hgs
parents:
diff changeset
    74
 Destructor
hgs
parents:
diff changeset
    75
 */
hgs
parents:
diff changeset
    76
TestCalenStatusStrip::~TestCalenStatusStrip()
hgs
parents:
diff changeset
    77
{
hgs
parents:
diff changeset
    78
hgs
parents:
diff changeset
    79
}
hgs
parents:
diff changeset
    80
hgs
parents:
diff changeset
    81
/*!
hgs
parents:
diff changeset
    82
 Called before testcase
hgs
parents:
diff changeset
    83
 */
hgs
parents:
diff changeset
    84
void TestCalenStatusStrip::initTestCase()
hgs
parents:
diff changeset
    85
{
hgs
parents:
diff changeset
    86
}
hgs
parents:
diff changeset
    87
hgs
parents:
diff changeset
    88
/*!
hgs
parents:
diff changeset
    89
 Called after testcase
hgs
parents:
diff changeset
    90
 */
hgs
parents:
diff changeset
    91
void TestCalenStatusStrip::cleanupTestCase()
hgs
parents:
diff changeset
    92
{
hgs
parents:
diff changeset
    93
hgs
parents:
diff changeset
    94
}
hgs
parents:
diff changeset
    95
hgs
parents:
diff changeset
    96
/*!
hgs
parents:
diff changeset
    97
 Called before every function
hgs
parents:
diff changeset
    98
 */
hgs
parents:
diff changeset
    99
void TestCalenStatusStrip::init()
hgs
parents:
diff changeset
   100
{
hgs
parents:
diff changeset
   101
    mStatusStrip = new CalenDayStatusStripTest();
hgs
parents:
diff changeset
   102
}
hgs
parents:
diff changeset
   103
hgs
parents:
diff changeset
   104
/*!
hgs
parents:
diff changeset
   105
 Called after everyfunction
hgs
parents:
diff changeset
   106
 */
hgs
parents:
diff changeset
   107
void TestCalenStatusStrip::cleanup()
hgs
parents:
diff changeset
   108
{
hgs
parents:
diff changeset
   109
    if (mStatusStrip) {
hgs
parents:
diff changeset
   110
        delete mStatusStrip;
hgs
parents:
diff changeset
   111
        mStatusStrip = NULL;
hgs
parents:
diff changeset
   112
    }
hgs
parents:
diff changeset
   113
}
hgs
parents:
diff changeset
   114
hgs
parents:
diff changeset
   115
/*!
hgs
parents:
diff changeset
   116
 Test function for constructors
hgs
parents:
diff changeset
   117
 1. Test if content widget is not initialized
hgs
parents:
diff changeset
   118
 2. Test if content widget is correcty created
hgs
parents:
diff changeset
   119
 */
hgs
parents:
diff changeset
   120
void TestCalenStatusStrip::testConstructors()
hgs
parents:
diff changeset
   121
{
hgs
parents:
diff changeset
   122
    //1)
hgs
parents:
diff changeset
   123
    CalenDayStatusStrip *testStatusStrip = 0;
hgs
parents:
diff changeset
   124
    QVERIFY(!testStatusStrip);
hgs
parents:
diff changeset
   125
    
hgs
parents:
diff changeset
   126
    //2)
hgs
parents:
diff changeset
   127
    testStatusStrip = new CalenDayStatusStrip();
hgs
parents:
diff changeset
   128
    QVERIFY(testStatusStrip);
hgs
parents:
diff changeset
   129
    delete testStatusStrip;
hgs
parents:
diff changeset
   130
}
hgs
parents:
diff changeset
   131
hgs
parents:
diff changeset
   132
/*!
hgs
parents:
diff changeset
   133
   Test function for geting and setting range
hgs
parents:
diff changeset
   134
   1. Test setting 5px range
hgs
parents:
diff changeset
   135
   2. Test change range to 1px
hgs
parents:
diff changeset
   136
 */
hgs
parents:
diff changeset
   137
void TestCalenStatusStrip::testSetGetRange()
hgs
parents:
diff changeset
   138
{
hgs
parents:
diff changeset
   139
    //1)
hgs
parents:
diff changeset
   140
    mStatusStrip->setRange(5);
hgs
parents:
diff changeset
   141
    QCOMPARE((qreal)5,mStatusStrip->range());
hgs
parents:
diff changeset
   142
    
hgs
parents:
diff changeset
   143
    //2)
hgs
parents:
diff changeset
   144
    mStatusStrip->setRange(1);
hgs
parents:
diff changeset
   145
    QCOMPARE((qreal)1,mStatusStrip->range());
hgs
parents:
diff changeset
   146
}
hgs
parents:
diff changeset
   147
hgs
parents:
diff changeset
   148
/*!
hgs
parents:
diff changeset
   149
   Preapre data for \sa testSetGetDrawingStyle
hgs
parents:
diff changeset
   150
   Add new enum \sa CalenDayStatusStrip::DrawingStyle
hgs
parents:
diff changeset
   151
   1)OnlyFrame
hgs
parents:
diff changeset
   152
   2)StripWithLines
hgs
parents:
diff changeset
   153
   3)Filled
hgs
parents:
diff changeset
   154
 */
hgs
parents:
diff changeset
   155
void TestCalenStatusStrip::testSetGetDrawingStyle_data()
hgs
parents:
diff changeset
   156
{
hgs
parents:
diff changeset
   157
    QTest::addColumn<CalenDayStatusStrip::DrawingStyle>("testedValue");    
hgs
parents:
diff changeset
   158
    QTest::addColumn<CalenDayStatusStrip::DrawingStyle>("testValue");
hgs
parents:
diff changeset
   159
    
hgs
parents:
diff changeset
   160
    QTest::newRow("OnlyFrame") << CalenDayStatusStrip::OnlyFrame 
hgs
parents:
diff changeset
   161
                               << CalenDayStatusStrip::OnlyFrame;
hgs
parents:
diff changeset
   162
    QTest::newRow("StripWithLines") << CalenDayStatusStrip::StripWithLines 
hgs
parents:
diff changeset
   163
                                    << CalenDayStatusStrip::StripWithLines; 
hgs
parents:
diff changeset
   164
    QTest::newRow("Filled") << CalenDayStatusStrip::Filled 
hgs
parents:
diff changeset
   165
                            << CalenDayStatusStrip::Filled;   
hgs
parents:
diff changeset
   166
}
hgs
parents:
diff changeset
   167
hgs
parents:
diff changeset
   168
/*!
hgs
parents:
diff changeset
   169
   Test settting and getting drawing style on preapred data
hgs
parents:
diff changeset
   170
   
hgs
parents:
diff changeset
   171
   \sa testSetGetDrawingStyle_data
hgs
parents:
diff changeset
   172
 */
hgs
parents:
diff changeset
   173
void TestCalenStatusStrip::testSetGetDrawingStyle()
hgs
parents:
diff changeset
   174
{ 
hgs
parents:
diff changeset
   175
    //get data to test
hgs
parents:
diff changeset
   176
    QFETCH(CalenDayStatusStrip::DrawingStyle, testedValue); 
hgs
parents:
diff changeset
   177
    QFETCH(CalenDayStatusStrip::DrawingStyle, testValue); 
hgs
parents:
diff changeset
   178
    
hgs
parents:
diff changeset
   179
    //set data
hgs
parents:
diff changeset
   180
    mStatusStrip->setDrawingStyle(testedValue);
hgs
parents:
diff changeset
   181
    
hgs
parents:
diff changeset
   182
    //check data
hgs
parents:
diff changeset
   183
    QCOMPARE(mStatusStrip->drawingStyle(),testValue);
hgs
parents:
diff changeset
   184
}
hgs
parents:
diff changeset
   185
hgs
parents:
diff changeset
   186
/*!
hgs
parents:
diff changeset
   187
   Test setting and getting start and end time of event
hgs
parents:
diff changeset
   188
   1)Set end and start of event
hgs
parents:
diff changeset
   189
   2)Change values
81
hgs
parents: 70
diff changeset
   190
   3)Setting event shorter than 300 seconds
hgs
parents: 70
diff changeset
   191
   4)Setting event for 300 seconds
45
hgs
parents:
diff changeset
   192
 */
hgs
parents:
diff changeset
   193
void TestCalenStatusStrip::testStartEndTime()
hgs
parents:
diff changeset
   194
{
81
hgs
parents: 70
diff changeset
   195
    //1)
45
hgs
parents:
diff changeset
   196
    QPair<QTime, QTime> startEndTime;
hgs
parents:
diff changeset
   197
    startEndTime.first = QTime(12,12,12);
hgs
parents:
diff changeset
   198
    startEndTime.second = QTime(15,15,15);
hgs
parents:
diff changeset
   199
    
hgs
parents:
diff changeset
   200
    mStatusStrip->setStartEndTime(startEndTime.first,startEndTime.second);
hgs
parents:
diff changeset
   201
    
hgs
parents:
diff changeset
   202
    QCOMPARE(mStatusStrip->startEndTime().first,startEndTime.first);
hgs
parents:
diff changeset
   203
    QCOMPARE(mStatusStrip->startEndTime().second,startEndTime.second);
hgs
parents:
diff changeset
   204
    
81
hgs
parents: 70
diff changeset
   205
    //2)
45
hgs
parents:
diff changeset
   206
    startEndTime.first = QTime(1,1,1);
hgs
parents:
diff changeset
   207
    startEndTime.second = QTime(5,5,5);
hgs
parents:
diff changeset
   208
    
hgs
parents:
diff changeset
   209
    mStatusStrip->setStartEndTime(startEndTime.first,startEndTime.second);
hgs
parents:
diff changeset
   210
    
hgs
parents:
diff changeset
   211
    QCOMPARE(mStatusStrip->startEndTime().first,startEndTime.first);
hgs
parents:
diff changeset
   212
    QCOMPARE(mStatusStrip->startEndTime().second,startEndTime.second);
81
hgs
parents: 70
diff changeset
   213
    
hgs
parents: 70
diff changeset
   214
    //3)
hgs
parents: 70
diff changeset
   215
    // if time less than 300 seconds set it to 300 seconds (5 minutes)
hgs
parents: 70
diff changeset
   216
    startEndTime.first = QTime(0,0,0);
hgs
parents: 70
diff changeset
   217
    startEndTime.second = QTime(0,4,59);
hgs
parents: 70
diff changeset
   218
    mStatusStrip->setStartEndTime(startEndTime.first,startEndTime.second);
hgs
parents: 70
diff changeset
   219
    startEndTime.second = QTime(startEndTime.first.hour(),
hgs
parents: 70
diff changeset
   220
        startEndTime.first.minute() + 5);
hgs
parents: 70
diff changeset
   221
    QCOMPARE(mStatusStrip->startEndTime().second,startEndTime.second);
hgs
parents: 70
diff changeset
   222
hgs
parents: 70
diff changeset
   223
    //4)
hgs
parents: 70
diff changeset
   224
    // check if ok for 300 seconds
hgs
parents: 70
diff changeset
   225
    startEndTime.second = QTime(0,5,00);
hgs
parents: 70
diff changeset
   226
    mStatusStrip->setStartEndTime(startEndTime.first,startEndTime.second);
hgs
parents: 70
diff changeset
   227
    QCOMPARE(mStatusStrip->startEndTime().second,startEndTime.second);
45
hgs
parents:
diff changeset
   228
}
hgs
parents:
diff changeset
   229
hgs
parents:
diff changeset
   230
/*!
hgs
parents:
diff changeset
   231
   Test creating polygon to draw diagonal line on widget
hgs
parents:
diff changeset
   232
 */
hgs
parents:
diff changeset
   233
void TestCalenStatusStrip::testCreatingDiagonalLine()
hgs
parents:
diff changeset
   234
{
hgs
parents:
diff changeset
   235
    qreal dx = 10;
hgs
parents:
diff changeset
   236
    qreal dy = 1;
hgs
parents:
diff changeset
   237
    QPointF point(0,60);
hgs
parents:
diff changeset
   238
    QVector<QPointF> points;
hgs
parents:
diff changeset
   239
    
hgs
parents:
diff changeset
   240
    points << QPointF(0,60);
hgs
parents:
diff changeset
   241
    points << QPointF(0,59);
hgs
parents:
diff changeset
   242
    points << QPointF(10,58);
hgs
parents:
diff changeset
   243
    points << QPointF(10,59);
hgs
parents:
diff changeset
   244
    
hgs
parents:
diff changeset
   245
    QPolygonF testValue(points);
hgs
parents:
diff changeset
   246
    QPolygonF testedValue = mStatusStrip->diagonalLine(point,dx,dy);
hgs
parents:
diff changeset
   247
    
hgs
parents:
diff changeset
   248
    QCOMPARE(testedValue,testValue);
hgs
parents:
diff changeset
   249
}
hgs
parents:
diff changeset
   250
hgs
parents:
diff changeset
   251
/*!
hgs
parents:
diff changeset
   252
   Prepare data for \sa testCalculateStartEndTimePosition
hgs
parents:
diff changeset
   253
   Add new start and end time of event.
hgs
parents:
diff changeset
   254
   1)Full time start and end
hgs
parents:
diff changeset
   255
   2)Exactly 30min time start and end
hgs
parents:
diff changeset
   256
   3)More than 30min time start and end
hgs
parents:
diff changeset
   257
   4)time start > 30m and end > 23h30m
hgs
parents:
diff changeset
   258
 */
hgs
parents:
diff changeset
   259
void TestCalenStatusStrip::testCalculateStartEndTimePosition_data()
hgs
parents:
diff changeset
   260
{
hgs
parents:
diff changeset
   261
    QTest::addColumn<QTime>("testedStartValue");
hgs
parents:
diff changeset
   262
    QTest::addColumn<QTime>("testedEndValue");
hgs
parents:
diff changeset
   263
    QTest::addColumn<QTime>("testStartValue");
hgs
parents:
diff changeset
   264
    QTest::addColumn<QTime>("testEndValue");
hgs
parents:
diff changeset
   265
    
70
hgs
parents: 63
diff changeset
   266
    QTest::newRow("Full time start and end")
hgs
parents: 63
diff changeset
   267
        <<  QTime(10,00,00)
hgs
parents: 63
diff changeset
   268
        <<  QTime(11,00,00)
hgs
parents: 63
diff changeset
   269
        <<  QTime(10,00,00)
hgs
parents: 63
diff changeset
   270
        <<  QTime(11,00,00);
hgs
parents: 63
diff changeset
   271
    QTest::newRow("Exactly 15m time start and end") 
hgs
parents: 63
diff changeset
   272
        << QTime(10, 15, 00)
hgs
parents: 63
diff changeset
   273
        << QTime(11, 15, 00)
hgs
parents: 63
diff changeset
   274
        << QTime(10, 15, 00)
hgs
parents: 63
diff changeset
   275
        << QTime(11, 15, 00);
hgs
parents: 63
diff changeset
   276
    QTest::newRow("More than 15m, less than 30m time start and end") 
hgs
parents: 63
diff changeset
   277
        <<  QTime(10,18,00)
hgs
parents: 63
diff changeset
   278
        <<  QTime(10,24,00)
hgs
parents: 63
diff changeset
   279
        <<  QTime(10,15,00)
hgs
parents: 63
diff changeset
   280
        <<  QTime(10,30,00);
hgs
parents: 63
diff changeset
   281
    QTest::newRow("Exactly 30m time start and end") 
hgs
parents: 63
diff changeset
   282
        << QTime(9, 30, 00)
hgs
parents: 63
diff changeset
   283
        << QTime(10, 30, 00)
hgs
parents: 63
diff changeset
   284
        << QTime(9, 30, 00)
hgs
parents: 63
diff changeset
   285
        << QTime(10, 30, 00);
hgs
parents: 63
diff changeset
   286
    QTest::newRow("More than 30m, less than 45m time start and end") 
hgs
parents: 63
diff changeset
   287
        <<  QTime(10,32,00)
hgs
parents: 63
diff changeset
   288
        <<  QTime(10,43,00)
hgs
parents: 63
diff changeset
   289
        <<  QTime(10,30,00)
hgs
parents: 63
diff changeset
   290
        <<  QTime(10,45,00);
hgs
parents: 63
diff changeset
   291
    QTest::newRow("Exactly 45m time start and end") 
hgs
parents: 63
diff changeset
   292
        << QTime(9, 45, 00)
hgs
parents: 63
diff changeset
   293
        << QTime(10, 45, 00)
hgs
parents: 63
diff changeset
   294
        << QTime(9, 45, 00)
hgs
parents: 63
diff changeset
   295
        << QTime(10, 45, 00);
hgs
parents: 63
diff changeset
   296
    QTest::newRow("More than 45m, less than 60m time start and end") 
hgs
parents: 63
diff changeset
   297
        <<  QTime(10,48,00)
hgs
parents: 63
diff changeset
   298
        <<  QTime(10,57,00)
hgs
parents: 63
diff changeset
   299
        <<  QTime(10,45,00)
hgs
parents: 63
diff changeset
   300
        <<  QTime(11,00,00);
hgs
parents: 63
diff changeset
   301
    QTest::newRow("time start > 45m and end > 23h45m") 
hgs
parents: 63
diff changeset
   302
        <<  QTime(20,47,00)
hgs
parents: 63
diff changeset
   303
        <<  QTime(23,55,00)
hgs
parents: 63
diff changeset
   304
        <<  QTime(20,45,00)
hgs
parents: 63
diff changeset
   305
        <<  QTime(23,59,00);
hgs
parents: 63
diff changeset
   306
    QTest::newRow("time start < 30m and (23h30m < end < 23h45m")
hgs
parents: 63
diff changeset
   307
        <<  QTime(11,19,00)
hgs
parents: 63
diff changeset
   308
        <<  QTime(23,38,00)
hgs
parents: 63
diff changeset
   309
        <<  QTime(11,15,00)
hgs
parents: 63
diff changeset
   310
        <<  QTime(23,45,00);
45
hgs
parents:
diff changeset
   311
}
hgs
parents:
diff changeset
   312
hgs
parents:
diff changeset
   313
/*!
hgs
parents:
diff changeset
   314
   Test calculating start and end time drawing of event bubble on prepared data
hgs
parents:
diff changeset
   315
   \sa testCalculateStartEndTimePosition_data
hgs
parents:
diff changeset
   316
 */
hgs
parents:
diff changeset
   317
void TestCalenStatusStrip::testCalculateStartEndTimePosition()
hgs
parents:
diff changeset
   318
{
hgs
parents:
diff changeset
   319
    //get prepared data
hgs
parents:
diff changeset
   320
    QFETCH(QTime, testedStartValue); 
hgs
parents:
diff changeset
   321
    QFETCH(QTime, testedEndValue); 
hgs
parents:
diff changeset
   322
    QFETCH(QTime, testStartValue); 
hgs
parents:
diff changeset
   323
    QFETCH(QTime, testEndValue); 
hgs
parents:
diff changeset
   324
    
hgs
parents:
diff changeset
   325
    //run function
hgs
parents:
diff changeset
   326
    QPair<QTime,QTime> testStartEndValue 
hgs
parents:
diff changeset
   327
                     = mStatusStrip->calculateStartEndPostion(testedStartValue,
70
hgs
parents: 63
diff changeset
   328
                         testedEndValue);
45
hgs
parents:
diff changeset
   329
    //check data
hgs
parents:
diff changeset
   330
    QCOMPARE(testStartEndValue.first,testStartValue);
hgs
parents:
diff changeset
   331
    QCOMPARE(testStartEndValue.second,testEndValue);
hgs
parents:
diff changeset
   332
}
hgs
parents:
diff changeset
   333
hgs
parents:
diff changeset
   334
/*!
hgs
parents:
diff changeset
   335
   Test calculating minute height based on widget height and given time.
hgs
parents:
diff changeset
   336
   1)Calculate on given time
hgs
parents:
diff changeset
   337
   2)Change time of event
81
hgs
parents: 70
diff changeset
   338
   3)For event longer than 15 minutes
hgs
parents: 70
diff changeset
   339
   4)For event shorter than or equal to 15 minutes
45
hgs
parents:
diff changeset
   340
 */
hgs
parents:
diff changeset
   341
void TestCalenStatusStrip::testCalculateMinuteHegiht()
hgs
parents:
diff changeset
   342
{   
hgs
parents:
diff changeset
   343
    qreal testedValue;
hgs
parents:
diff changeset
   344
    qreal testValue;
hgs
parents:
diff changeset
   345
    mStatusStrip->resize(WIDGET_WIDTH,WIDGET_HEIGHT);
hgs
parents:
diff changeset
   346
    
hgs
parents:
diff changeset
   347
    //1)
hgs
parents:
diff changeset
   348
    testedValue = mStatusStrip->calculateMinuteHeight(QTime(10,00,0),
hgs
parents:
diff changeset
   349
                                                      QTime(11,00,0));
hgs
parents:
diff changeset
   350
    testValue = WIDGET_HEIGHT / (qreal)60;
hgs
parents:
diff changeset
   351
    QCOMPARE(testedValue,testValue);
hgs
parents:
diff changeset
   352
    
hgs
parents:
diff changeset
   353
    //2)
hgs
parents:
diff changeset
   354
    testedValue = mStatusStrip->calculateMinuteHeight(QTime(10,00,0),
hgs
parents:
diff changeset
   355
                                                      QTime(11,30,0));
hgs
parents:
diff changeset
   356
    testValue = WIDGET_HEIGHT / (qreal)90;
hgs
parents:
diff changeset
   357
    QCOMPARE(testedValue,testValue);
81
hgs
parents: 70
diff changeset
   358
    
hgs
parents: 70
diff changeset
   359
    //3)
hgs
parents: 70
diff changeset
   360
    testedValue = mStatusStrip->calculateMinuteHeight(QTime(10,00,0),
hgs
parents: 70
diff changeset
   361
                                                      QTime(10,29,0));
hgs
parents: 70
diff changeset
   362
    testValue = CalenDayUtils::instance()->hourElementHeight() 
hgs
parents: 70
diff changeset
   363
                    / ((qreal)2 * (qreal)29);
hgs
parents: 70
diff changeset
   364
    QCOMPARE(testedValue,testValue);
hgs
parents: 70
diff changeset
   365
    
hgs
parents: 70
diff changeset
   366
    //4)
hgs
parents: 70
diff changeset
   367
    testedValue = mStatusStrip->calculateMinuteHeight(QTime(10,00,0),
hgs
parents: 70
diff changeset
   368
                                                      QTime(10,15,0));
hgs
parents: 70
diff changeset
   369
    testValue = CalenDayUtils::instance()->hourElementHeight() 
hgs
parents: 70
diff changeset
   370
                    / ((qreal)4 * (qreal)15);
hgs
parents: 70
diff changeset
   371
    QCOMPARE(testedValue,testValue);
45
hgs
parents:
diff changeset
   372
}
hgs
parents:
diff changeset
   373
hgs
parents:
diff changeset
   374
hgs
parents:
diff changeset
   375
/*!
hgs
parents:
diff changeset
   376
   Test drawing widget.
hgs
parents:
diff changeset
   377
   
hgs
parents:
diff changeset
   378
   If there is no SAVE_IMAGES macro defined it will only run this function.
hgs
parents:
diff changeset
   379
   If there is macro defined and c:\unittest folder created then image will be
hgs
parents:
diff changeset
   380
   created so user can see if it draw in good way.
hgs
parents:
diff changeset
   381
 */
hgs
parents:
diff changeset
   382
void TestCalenStatusStrip::testPaint()
hgs
parents:
diff changeset
   383
{      
hgs
parents:
diff changeset
   384
    //preapre data needed to draw on widget
hgs
parents:
diff changeset
   385
    QPair<QTime, QTime> startEndTime;
hgs
parents:
diff changeset
   386
    startEndTime.first = QTime(10,20,0);
hgs
parents:
diff changeset
   387
    startEndTime.second = QTime(15,10,00);
hgs
parents:
diff changeset
   388
    
hgs
parents:
diff changeset
   389
    //set event time
hgs
parents:
diff changeset
   390
    mStatusStrip->setStartEndTime(startEndTime.first,startEndTime.second);
hgs
parents:
diff changeset
   391
    
hgs
parents:
diff changeset
   392
    //resize widget to be bigger than (0,0)
hgs
parents:
diff changeset
   393
    mStatusStrip->resize(WIDGET_WIDTH,WIDGET_HEIGHT);
hgs
parents:
diff changeset
   394
    QSize size = mStatusStrip->size().toSize();
hgs
parents:
diff changeset
   395
    
hgs
parents:
diff changeset
   396
    //create image that will simulate widget where painting should be done
hgs
parents:
diff changeset
   397
    QImage img(size,QImage::Format_RGB32);
hgs
parents:
diff changeset
   398
    //create painter which will be used to paint
hgs
parents:
diff changeset
   399
    QPainter painter(&img);
hgs
parents:
diff changeset
   400
    //fill image with white color to have better filings with look of "paper"
hgs
parents:
diff changeset
   401
    painter.fillRect(0,0,size.width(),size.height(),QColor(Qt::white));
hgs
parents:
diff changeset
   402
    //run paint
hgs
parents:
diff changeset
   403
    mStatusStrip->paint(&painter,0);
hgs
parents:
diff changeset
   404
    
hgs
parents:
diff changeset
   405
#ifdef SAVE_IMAGES
hgs
parents:
diff changeset
   406
    //save drawed image
hgs
parents:
diff changeset
   407
    img.save("c:/unittest/TestCalenStatusStrip_testPaint.jpg");
hgs
parents:
diff changeset
   408
    
hgs
parents:
diff changeset
   409
#endif
81
hgs
parents: 70
diff changeset
   410
    
hgs
parents: 70
diff changeset
   411
    //2)
hgs
parents: 70
diff changeset
   412
    //preapre data needed to draw on widget
hgs
parents: 70
diff changeset
   413
    startEndTime.first = QTime(10,59,0);
hgs
parents: 70
diff changeset
   414
    startEndTime.second = QTime(11,0,00);
45
hgs
parents:
diff changeset
   415
81
hgs
parents: 70
diff changeset
   416
    //set event time
hgs
parents: 70
diff changeset
   417
    mStatusStrip->setStartEndTime(startEndTime.first,startEndTime.second);
hgs
parents: 70
diff changeset
   418
hgs
parents: 70
diff changeset
   419
    //resize widget to be bigger than (0,0)
hgs
parents: 70
diff changeset
   420
    mStatusStrip->resize(WIDGET_WIDTH,WIDGET_HEIGHT);
hgs
parents: 70
diff changeset
   421
    size = mStatusStrip->size().toSize();
hgs
parents: 70
diff changeset
   422
hgs
parents: 70
diff changeset
   423
    //create image that will simulate widget where painting should be done
hgs
parents: 70
diff changeset
   424
    QImage img2(size, QImage::Format_RGB32);
hgs
parents: 70
diff changeset
   425
    //create painter which will be used to paint
hgs
parents: 70
diff changeset
   426
    QPainter painter2(&img2);
hgs
parents: 70
diff changeset
   427
    //fill image with white color to have better filings with look of "paper"
hgs
parents: 70
diff changeset
   428
    painter2.fillRect(0,0,size.width(),size.height(),QColor(Qt::white));
hgs
parents: 70
diff changeset
   429
    // set drawing style
hgs
parents: 70
diff changeset
   430
    mStatusStrip->setDrawingStyle(CalenDayStatusStrip::StripWithLines);
hgs
parents: 70
diff changeset
   431
    //run paint
hgs
parents: 70
diff changeset
   432
    mStatusStrip->paint(&painter2,0);
hgs
parents: 70
diff changeset
   433
hgs
parents: 70
diff changeset
   434
#ifdef SAVE_IMAGES
hgs
parents: 70
diff changeset
   435
    //save drawed image
hgs
parents: 70
diff changeset
   436
    img2.save("c:/unittest/TestCalenStatusStrip_testPaintTC2.jpg");
hgs
parents: 70
diff changeset
   437
hgs
parents: 70
diff changeset
   438
#endif
hgs
parents: 70
diff changeset
   439
hgs
parents: 70
diff changeset
   440
    //3)
hgs
parents: 70
diff changeset
   441
    //preapre data needed to draw on widget
hgs
parents: 70
diff changeset
   442
    startEndTime.first = QTime(10,59,0);
hgs
parents: 70
diff changeset
   443
    startEndTime.second = QTime(11,0,00);
hgs
parents: 70
diff changeset
   444
hgs
parents: 70
diff changeset
   445
    //set event time
hgs
parents: 70
diff changeset
   446
    mStatusStrip->setStartEndTime(startEndTime.first,startEndTime.second);
hgs
parents: 70
diff changeset
   447
hgs
parents: 70
diff changeset
   448
    //resize widget to be bigger than (0,0)
hgs
parents: 70
diff changeset
   449
    mStatusStrip->resize(WIDGET_WIDTH,WIDGET_HEIGHT);
hgs
parents: 70
diff changeset
   450
    size = mStatusStrip->size().toSize();
hgs
parents: 70
diff changeset
   451
hgs
parents: 70
diff changeset
   452
    //create image that will simulate widget where painting should be done
hgs
parents: 70
diff changeset
   453
    QImage img3(size, QImage::Format_RGB32);
hgs
parents: 70
diff changeset
   454
    //create painter which will be used to paint
hgs
parents: 70
diff changeset
   455
    QPainter painter3(&img3);
hgs
parents: 70
diff changeset
   456
    //fill image with white color to have better filings with look of "paper"
hgs
parents: 70
diff changeset
   457
    painter3.fillRect(0,0,size.width(),size.height(),QColor(Qt::white));
hgs
parents: 70
diff changeset
   458
    // set drawing style
hgs
parents: 70
diff changeset
   459
    mStatusStrip->setDrawingStyle(CalenDayStatusStrip::OnlyFrame);
hgs
parents: 70
diff changeset
   460
    //run paint
hgs
parents: 70
diff changeset
   461
    mStatusStrip->paint(&painter3,0);
hgs
parents: 70
diff changeset
   462
hgs
parents: 70
diff changeset
   463
#ifdef SAVE_IMAGES
hgs
parents: 70
diff changeset
   464
    //save drawed image
hgs
parents: 70
diff changeset
   465
    img3.save("c:/unittest/TestCalenStatusStrip_testPaintTC3.jpg");
hgs
parents: 70
diff changeset
   466
hgs
parents: 70
diff changeset
   467
#endif
45
hgs
parents:
diff changeset
   468
}
hgs
parents:
diff changeset
   469
hgs
parents:
diff changeset
   470
QTEST_MAIN(TestCalenStatusStrip);
hgs
parents:
diff changeset
   471
#include "unittest_calendaystatusstrip.moc"