calendarui/views/dayview/tsrc/unittests/unittest_calendayutils/unittest_calendayutils.cpp
author hgs
Fri, 15 Oct 2010 12:10:36 +0530
changeset 83 5aadd1120515
parent 81 ce92091cbd61
permissions -rw-r--r--
201041
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
45
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
 * Copyright (c) 2009 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
#include <QGraphicsItem>
hgs
parents:
diff changeset
    18
#include <QtTest/QtTest>
hgs
parents:
diff changeset
    19
57
hgs
parents: 55
diff changeset
    20
#include "hbstyle.h"
45
hgs
parents:
diff changeset
    21
#include "calendayutils.h"
55
hgs
parents: 45
diff changeset
    22
#include "hbdeviceprofile.h"
45
hgs
parents:
diff changeset
    23
#include "calendaycommonheaders.h"
81
hgs
parents: 70
diff changeset
    24
#include "agendaentry.h"
45
hgs
parents:
diff changeset
    25
hgs
parents:
diff changeset
    26
// Test variables
hgs
parents:
diff changeset
    27
QRectF gTestWindowRect = QRectF(0, 0, 10, 20);
hgs
parents:
diff changeset
    28
Qt::Orientation gTestOrientation = Qt::Horizontal;
55
hgs
parents: 45
diff changeset
    29
qreal param_value = 10;
57
hgs
parents: 55
diff changeset
    30
qreal unitInPix = 1;
45
hgs
parents:
diff changeset
    31
hgs
parents:
diff changeset
    32
class TestCalenDayUtils : public QObject
81
hgs
parents: 70
diff changeset
    33
{
45
hgs
parents:
diff changeset
    34
Q_OBJECT
hgs
parents:
diff changeset
    35
hgs
parents:
diff changeset
    36
public:
81
hgs
parents: 70
diff changeset
    37
    TestCalenDayUtils();
hgs
parents: 70
diff changeset
    38
    virtual ~TestCalenDayUtils();
45
hgs
parents:
diff changeset
    39
hgs
parents:
diff changeset
    40
private slots:
81
hgs
parents: 70
diff changeset
    41
    void initTestCase();
hgs
parents: 70
diff changeset
    42
    void cleanupTestCase();
hgs
parents: 70
diff changeset
    43
    void init();
hgs
parents: 70
diff changeset
    44
    void cleanup();
45
hgs
parents:
diff changeset
    45
81
hgs
parents: 70
diff changeset
    46
    void testInstance();
hgs
parents: 70
diff changeset
    47
    void testScreenWidth();
83
hgs
parents: 81
diff changeset
    48
    void testScreenHeight();
81
hgs
parents: 70
diff changeset
    49
    void testHourElementWidth();
hgs
parents: 70
diff changeset
    50
    void testHourElementHeight();
hgs
parents: 70
diff changeset
    51
    void testContentWidth();
hgs
parents: 70
diff changeset
    52
    void testMinEventHeight();
hgs
parents: 70
diff changeset
    53
    void testMainWindow();
hgs
parents: 70
diff changeset
    54
    void testGetEventValidStartEndTime();
55
hgs
parents: 45
diff changeset
    55
81
hgs
parents: 70
diff changeset
    56
    void testConstructors();
hgs
parents: 70
diff changeset
    57
    void testOrientation();
45
hgs
parents:
diff changeset
    58
hgs
parents:
diff changeset
    59
private:
81
hgs
parents: 70
diff changeset
    60
    CalenDayUtils *mUtils;
hgs
parents: 70
diff changeset
    61
    qreal mUnit;
hgs
parents: 70
diff changeset
    62
};
45
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
TestCalenDayUtils::TestCalenDayUtils() :
81
hgs
parents: 70
diff changeset
    68
    mUtils(NULL)
hgs
parents: 70
diff changeset
    69
{
hgs
parents: 70
diff changeset
    70
    HbDeviceProfile s;
hgs
parents: 70
diff changeset
    71
    mUnit = s.unitValue();
hgs
parents: 70
diff changeset
    72
}
45
hgs
parents:
diff changeset
    73
hgs
parents:
diff changeset
    74
/*!
hgs
parents:
diff changeset
    75
 Destructor
hgs
parents:
diff changeset
    76
 */
hgs
parents:
diff changeset
    77
TestCalenDayUtils::~TestCalenDayUtils()
81
hgs
parents: 70
diff changeset
    78
{
45
hgs
parents:
diff changeset
    79
81
hgs
parents: 70
diff changeset
    80
}
45
hgs
parents:
diff changeset
    81
hgs
parents:
diff changeset
    82
/*!
hgs
parents:
diff changeset
    83
 Called before testcase
hgs
parents:
diff changeset
    84
 */
hgs
parents:
diff changeset
    85
void TestCalenDayUtils::initTestCase()
81
hgs
parents: 70
diff changeset
    86
{
hgs
parents: 70
diff changeset
    87
}
45
hgs
parents:
diff changeset
    88
hgs
parents:
diff changeset
    89
/*!
hgs
parents:
diff changeset
    90
 Called after testcase
hgs
parents:
diff changeset
    91
 */
hgs
parents:
diff changeset
    92
void TestCalenDayUtils::cleanupTestCase()
81
hgs
parents: 70
diff changeset
    93
{
hgs
parents: 70
diff changeset
    94
}
45
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 TestCalenDayUtils::init()
81
hgs
parents: 70
diff changeset
   100
{
hgs
parents: 70
diff changeset
   101
    mUtils = CalenDayUtils::instance();
hgs
parents: 70
diff changeset
   102
}
45
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 TestCalenDayUtils::cleanup()
81
hgs
parents: 70
diff changeset
   108
{
hgs
parents: 70
diff changeset
   109
    //delete mUtils;
hgs
parents: 70
diff changeset
   110
}
55
hgs
parents: 45
diff changeset
   111
hgs
parents: 45
diff changeset
   112
void TestCalenDayUtils::testInstance()
81
hgs
parents: 70
diff changeset
   113
{
hgs
parents: 70
diff changeset
   114
    CalenDayUtils* utils = CalenDayUtils::instance();
hgs
parents: 70
diff changeset
   115
    QVERIFY(utils);
hgs
parents: 70
diff changeset
   116
}
55
hgs
parents: 45
diff changeset
   117
hgs
parents: 45
diff changeset
   118
void TestCalenDayUtils::testScreenWidth()
81
hgs
parents: 70
diff changeset
   119
{
hgs
parents: 70
diff changeset
   120
    qreal sw = mUtils->screenWidth();
hgs
parents: 70
diff changeset
   121
    QVERIFY(sw == gTestWindowRect.width());
hgs
parents: 70
diff changeset
   122
}
55
hgs
parents: 45
diff changeset
   123
83
hgs
parents: 81
diff changeset
   124
void TestCalenDayUtils::testScreenHeight()
hgs
parents: 81
diff changeset
   125
{
hgs
parents: 81
diff changeset
   126
    qreal sw = mUtils->screenHeight();
hgs
parents: 81
diff changeset
   127
    QVERIFY(sw == gTestWindowRect.height());
hgs
parents: 81
diff changeset
   128
}
hgs
parents: 81
diff changeset
   129
55
hgs
parents: 45
diff changeset
   130
void TestCalenDayUtils::testHourElementWidth()
81
hgs
parents: 70
diff changeset
   131
{
hgs
parents: 70
diff changeset
   132
    qreal hEW = mUtils->hourElementWidth();
hgs
parents: 70
diff changeset
   133
    qreal myWidth = mUnit * 8.04 + param_value * 2;
hgs
parents: 70
diff changeset
   134
hgs
parents: 70
diff changeset
   135
    QCOMPARE(hEW, myWidth);
hgs
parents: 70
diff changeset
   136
hgs
parents: 70
diff changeset
   137
}
55
hgs
parents: 45
diff changeset
   138
hgs
parents: 45
diff changeset
   139
void TestCalenDayUtils::testHourElementHeight()
81
hgs
parents: 70
diff changeset
   140
{
hgs
parents: 70
diff changeset
   141
hgs
parents: 70
diff changeset
   142
    qreal hEH = mUtils->hourElementHeight();
83
hgs
parents: 81
diff changeset
   143
    qreal myHeight = mUnit * 5 + param_value * 2 + param_value * 2;
81
hgs
parents: 70
diff changeset
   144
hgs
parents: 70
diff changeset
   145
    QCOMPARE(hEH, myHeight);
hgs
parents: 70
diff changeset
   146
}
55
hgs
parents: 45
diff changeset
   147
hgs
parents: 45
diff changeset
   148
void TestCalenDayUtils::testContentWidth()
81
hgs
parents: 70
diff changeset
   149
{
hgs
parents: 70
diff changeset
   150
    qreal cW = mUtils->contentWidth();
hgs
parents: 70
diff changeset
   151
    qreal myWidth = gTestWindowRect.width() - (mUnit * 8.04 + param_value * 2);
hgs
parents: 70
diff changeset
   152
hgs
parents: 70
diff changeset
   153
    QCOMPARE(cW, myWidth);
hgs
parents: 70
diff changeset
   154
}
hgs
parents: 70
diff changeset
   155
hgs
parents: 70
diff changeset
   156
/*!
hgs
parents: 70
diff changeset
   157
 Test function for minimum event's height
hgs
parents: 70
diff changeset
   158
 */
hgs
parents: 70
diff changeset
   159
void TestCalenDayUtils::testMinEventHeight()
hgs
parents: 70
diff changeset
   160
{
hgs
parents: 70
diff changeset
   161
    qreal minH = mUtils->minEventHeight();
hgs
parents: 70
diff changeset
   162
    qreal myH = param_value + param_value + param_value;
hgs
parents: 70
diff changeset
   163
    
hgs
parents: 70
diff changeset
   164
    QCOMPARE(minH, myH);
hgs
parents: 70
diff changeset
   165
}
hgs
parents: 70
diff changeset
   166
hgs
parents: 70
diff changeset
   167
/*!
hgs
parents: 70
diff changeset
   168
 Test function for main window getter
hgs
parents: 70
diff changeset
   169
 */
hgs
parents: 70
diff changeset
   170
void TestCalenDayUtils::testMainWindow()
hgs
parents: 70
diff changeset
   171
{
hgs
parents: 70
diff changeset
   172
    HbMainWindow *window = NULL;
hgs
parents: 70
diff changeset
   173
    QVERIFY(!window);
hgs
parents: 70
diff changeset
   174
    
hgs
parents: 70
diff changeset
   175
    window = mUtils->mainWindow();
hgs
parents: 70
diff changeset
   176
    QVERIFY(window);
hgs
parents: 70
diff changeset
   177
}
55
hgs
parents: 45
diff changeset
   178
81
hgs
parents: 70
diff changeset
   179
/*!
hgs
parents: 70
diff changeset
   180
 Test function for getEventValidStartEndTime function
hgs
parents: 70
diff changeset
   181
 1) start and end time are in current day: event start - end
hgs
parents: 70
diff changeset
   182
 2) start time is yesterday, end time is in current day: event 0.00 - end
hgs
parents: 70
diff changeset
   183
 3) start time is yesterday, end time is tomorrow: event 0.00 - 23.59
hgs
parents: 70
diff changeset
   184
 */
hgs
parents: 70
diff changeset
   185
void TestCalenDayUtils::testGetEventValidStartEndTime()
hgs
parents: 70
diff changeset
   186
{
hgs
parents: 70
diff changeset
   187
    QDateTime currentDate(QDate(2010, 9, 5), QTime(8, 15));
hgs
parents: 70
diff changeset
   188
    
hgs
parents: 70
diff changeset
   189
    //1)
hgs
parents: 70
diff changeset
   190
    QDateTime inStart = currentDate.addSecs(-3600);     // currentTime - 1 hour
hgs
parents: 70
diff changeset
   191
    QDateTime inEnd = currentDate.addSecs(3600);        // currentTime + 1 hour
hgs
parents: 70
diff changeset
   192
    
hgs
parents: 70
diff changeset
   193
    AgendaEntry entry;
hgs
parents: 70
diff changeset
   194
    entry.setStartAndEndTime(inStart, inEnd);
hgs
parents: 70
diff changeset
   195
    
hgs
parents: 70
diff changeset
   196
    QDateTime outStart;
hgs
parents: 70
diff changeset
   197
    QDateTime outEnd;
hgs
parents: 70
diff changeset
   198
    mUtils->getEventValidStartEndTime(outStart, outEnd, entry, currentDate);
hgs
parents: 70
diff changeset
   199
    QCOMPARE(outStart, inStart);
hgs
parents: 70
diff changeset
   200
    QCOMPARE(outEnd, inEnd);
hgs
parents: 70
diff changeset
   201
    
hgs
parents: 70
diff changeset
   202
    //2)
hgs
parents: 70
diff changeset
   203
    inStart = currentDate.addDays(-1);      // currentTime - 1 day
hgs
parents: 70
diff changeset
   204
    inEnd = currentDate.addSecs(3600);      // currentTime + 1 hour
hgs
parents: 70
diff changeset
   205
    
hgs
parents: 70
diff changeset
   206
    entry.setStartAndEndTime(inStart, inEnd);
hgs
parents: 70
diff changeset
   207
    
hgs
parents: 70
diff changeset
   208
    mUtils->getEventValidStartEndTime(outStart, outEnd, entry, currentDate);
hgs
parents: 70
diff changeset
   209
    QCOMPARE(outStart, QDateTime(currentDate.date(), QTime(0, 0, 0, 0)));
hgs
parents: 70
diff changeset
   210
    QCOMPARE(outEnd, inEnd);
hgs
parents: 70
diff changeset
   211
    
hgs
parents: 70
diff changeset
   212
    //3)
hgs
parents: 70
diff changeset
   213
    inStart = currentDate.addDays(-1);      // currentTime - 1 day
hgs
parents: 70
diff changeset
   214
    inEnd = currentDate.addDays(1);         // currentTime + 1 day
hgs
parents: 70
diff changeset
   215
    
hgs
parents: 70
diff changeset
   216
    entry.setStartAndEndTime(inStart, inEnd);
hgs
parents: 70
diff changeset
   217
    
hgs
parents: 70
diff changeset
   218
    mUtils->getEventValidStartEndTime(outStart, outEnd, entry, currentDate);
hgs
parents: 70
diff changeset
   219
    QCOMPARE(outStart, QDateTime(currentDate.date(), QTime(0, 0, 0, 0)));
hgs
parents: 70
diff changeset
   220
    QCOMPARE(outEnd, QDateTime(currentDate.date(), QTime(23, 59, 0, 0)));
hgs
parents: 70
diff changeset
   221
}
45
hgs
parents:
diff changeset
   222
hgs
parents:
diff changeset
   223
/*!
hgs
parents:
diff changeset
   224
 Test function for constructors
hgs
parents:
diff changeset
   225
 1. Test if content widget is not initialized
hgs
parents:
diff changeset
   226
 2. Test if content widget is correcty created
hgs
parents:
diff changeset
   227
 */
hgs
parents:
diff changeset
   228
void TestCalenDayUtils::testConstructors()
81
hgs
parents: 70
diff changeset
   229
{
hgs
parents: 70
diff changeset
   230
    //1)
hgs
parents: 70
diff changeset
   231
    CalenDayUtils *testUtils = 0;
hgs
parents: 70
diff changeset
   232
    QVERIFY(!testUtils);
55
hgs
parents: 45
diff changeset
   233
81
hgs
parents: 70
diff changeset
   234
    //2)
hgs
parents: 70
diff changeset
   235
    testUtils = CalenDayUtils::instance();
hgs
parents: 70
diff changeset
   236
    QVERIFY(testUtils);
hgs
parents: 70
diff changeset
   237
}
45
hgs
parents:
diff changeset
   238
hgs
parents:
diff changeset
   239
/*!
55
hgs
parents: 45
diff changeset
   240
 Test function for getting main window's orientation
hgs
parents: 45
diff changeset
   241
 1)test if horizontal orientation is returned
hgs
parents: 45
diff changeset
   242
 2)test if vertical orientation is returned
45
hgs
parents:
diff changeset
   243
 */
hgs
parents:
diff changeset
   244
void TestCalenDayUtils::testOrientation()
81
hgs
parents: 70
diff changeset
   245
{
hgs
parents: 70
diff changeset
   246
    //1)
hgs
parents: 70
diff changeset
   247
    gTestOrientation = Qt::Horizontal;
hgs
parents: 70
diff changeset
   248
    QCOMPARE(CalenDayUtils::instance()->orientation(), Qt::Horizontal);
55
hgs
parents: 45
diff changeset
   249
81
hgs
parents: 70
diff changeset
   250
    //2)
hgs
parents: 70
diff changeset
   251
    gTestOrientation = Qt::Vertical;
hgs
parents: 70
diff changeset
   252
    QCOMPARE(CalenDayUtils::instance()->orientation(), Qt::Vertical);
hgs
parents: 70
diff changeset
   253
}
45
hgs
parents:
diff changeset
   254
hgs
parents:
diff changeset
   255
QTEST_MAIN(TestCalenDayUtils);
hgs
parents:
diff changeset
   256
#include "unittest_calendayutils.moc"