qtmeetings sources to Maemo garage
[qtmeetings] / tests / Domain / Meeting / TestMeeting.cpp
1 #include <QtTest/QtTest>
2 #include "Meeting.h"
3 #include "Room.h"
4 #include "TestMeeting.h"
5
6 void TestMeeting::initTestCase()
7 {
8         iPrimaryId1 = 5;
9         iPrimaryId2 = 0xa6c8eef1;
10         iSecondaryId1 = 0;
11         iSecondaryId2 = 0xFFFF0005;
12
13         iRoom = new Room( "Pegasus", "meetingroom.pegasus_jyv@ixonos.com" );
14         QVERIFY( iRoom != 0 );
15
16         iOrganizer1Name = "Test Organizer";
17         iOrganizer1EMail = "test.organizer@company.url";
18         iOrganizer2EMail = "Another Organizer";
19         iOrganizer2Name = "another.organizer@company.url";
20
21         iStartsAt1 = QDateTime( QDate( 2007, 3, 13 ), QTime( 13, 0, 0 ) );
22         iStartsAt2 = QDateTime( QDate( 2007, 3, 14 ), QTime( 13, 0, 0 ) );
23
24         iEndsAt1 = QDateTime( QDate( 2007, 3, 13 ), QTime( 14, 0, 0 ) );
25         iEndsAt2 = QDateTime( QDate( 2007, 3, 14 ), QTime( 14, 0, 0 ) );
26
27         iSubject1 = "Test subject";
28         iSubject2 = "Another subject";
29
30         iDescription1 = "This is a description. This is actually a plain text description, not as is was important at all.";
31         iDescription2 = "<p>This is a description. This is actually a <b>HTML<//b> text description, <i>not as is was important at all.<//i><//p>";
32
33         iMeeting1 = new Meeting( iPrimaryId1, iRoom, iStartsAt1, iEndsAt1, iOrganizer1Name, iOrganizer1EMail, iSubject1 );
34         QVERIFY( iMeeting1 != 0 );
35
36         iMeeting2 = new Meeting( iPrimaryId1, iRoom, iStartsAt1, iEndsAt1, "", "", iSubject1, iDescription2 );
37         QVERIFY( iMeeting2 != 0 );
38 }
39
40 void TestMeeting::cleanupTestCase()
41 {
42         delete iMeeting1;
43         iMeeting1 = NULL;
44         delete iMeeting2;
45         iMeeting2 = NULL;
46         delete iRoom;
47         iRoom = NULL;
48 }
49
50 void TestMeeting::init()
51 {
52         //qDebug("Debug line");
53 }
54
55 void TestMeeting::cleanup()
56 {
57         //nothing to do
58 }
59
60 void TestMeeting::testPrimaryId()
61 {
62         QCOMPARE( iMeeting1->primaryId(), iPrimaryId1 );
63         QCOMPARE( iMeeting2->primaryId(), iPrimaryId1 );
64 }
65
66 void TestMeeting::testSecondaryId()
67 {
68         iMeeting1->setSecondaryId( iSecondaryId1 );
69         QCOMPARE( iMeeting1->secondaryId(), iSecondaryId1 );
70         QCOMPARE( iMeeting2->secondaryId(), 0 );
71 }
72
73 void TestMeeting::testGetAndSetOrganizer()
74 {
75         QCOMPARE( iMeeting2->organizer(), QString( "" ) );
76
77         iMeeting2->setOrganizer( iOrganizer2Name, "" );
78         QCOMPARE( iMeeting2->organizer(), iOrganizer2Name );
79
80         iMeeting2->setOrganizer( "", iOrganizer2EMail );
81         QCOMPARE( iMeeting2->organizer(), iOrganizer2EMail );
82
83         iMeeting2->setOrganizer( iOrganizer2Name, iOrganizer2EMail );
84         QCOMPARE( iMeeting2->organizer(), QString( "%1 <%2>" ).arg( iOrganizer2Name ).arg( iOrganizer2EMail ) );
85 }
86
87 void TestMeeting::testStartsAt()
88 {
89         QCOMPARE( iMeeting1->startsAt(), iStartsAt1 );
90 }
91
92 void TestMeeting::testEndsAt()
93 {
94         QCOMPARE( iMeeting1->endsAt(), iEndsAt1 );
95 }
96
97 void TestMeeting::testSubject()
98 {
99         QCOMPARE( iMeeting1->subject(), iSubject1 );
100 }
101
102 void TestMeeting::testDescription()
103 {
104         QCOMPARE( iMeeting1->description(), QString( "" ) );
105         QCOMPARE( iMeeting2->description(), iDescription2 );
106 }
107
108 void TestMeeting::testDetailsAvailable()
109 {
110         QCOMPARE( iMeeting1->detailsAvailable(), true );
111         QCOMPARE( iMeeting2->detailsAvailable(), false );
112 }
113
114 void TestMeeting::testSetSecondaryId()
115 {
116         iMeeting1->setSecondaryId( -1 );
117         QCOMPARE( iMeeting1->secondaryId(), -1 );
118
119         iMeeting1->setSecondaryId( iSecondaryId1 );
120         QCOMPARE( iMeeting1->secondaryId(), iSecondaryId1 );
121
122         iMeeting2->setSecondaryId( iSecondaryId2 );
123         QCOMPARE( iMeeting2->secondaryId(), iSecondaryId2 );
124 }
125
126 void TestMeeting::testSetStartsAt()
127 {
128         iMeeting1->setStartsAt( iStartsAt2 );
129         QCOMPARE( iMeeting1->startsAt(), iStartsAt2 );
130
131         iMeeting1->setStartsAt( iStartsAt1 );
132         QCOMPARE( iMeeting1->startsAt(), iStartsAt1 );
133 }
134
135 void TestMeeting::testSetEndsAt()
136 {
137         iMeeting1->setEndsAt( iEndsAt2 );
138         QCOMPARE( iMeeting1->endsAt(), iEndsAt2 );
139
140         iMeeting1->setEndsAt( iEndsAt1 );
141         QCOMPARE( iMeeting1->endsAt(), iEndsAt1 );
142 }
143
144 void TestMeeting::testSetSubject()
145 {
146         iMeeting1->setSubject( iSubject2 );
147         QCOMPARE( iMeeting1->subject(), iSubject2 );
148
149         iMeeting1->setSubject( iSubject1 );
150         QCOMPARE( iMeeting1->subject(), iSubject1 );
151 }
152
153 void TestMeeting::testSetDescription()
154 {
155         iMeeting1->setDescription( iDescription1 );
156         QCOMPARE( iMeeting1->description(), iDescription1 );
157
158         iMeeting2->setDescription( iDescription2 );
159         QCOMPARE( iMeeting2->description(), iDescription2 );
160 }
161
162 void TestMeeting::testEquals()
163 {
164         iMeeting2->setEndsAt( iEndsAt2 );
165         QCOMPARE( iMeeting1->equals( iMeeting2 ), false );
166
167         iMeeting2->setEndsAt( iEndsAt1 );
168         QCOMPARE( iMeeting1->equals( iMeeting2 ), true );
169 }
170
171 void TestMeeting::testToString()
172 {
173         QString meeting1ToString = QString( "[MEETING: id1:%1 id2:%2 in:%3 from:%4 until:%5 by:%6 subject:%7 description:%8]" )
174                                            .arg( iPrimaryId1 )
175                                            .arg( iSecondaryId1 )
176                                            .arg( iRoom->toString() )
177                                            .arg( iStartsAt1.toString() )
178                                            .arg( iEndsAt1.toString() )
179                                            .arg( iMeeting1->organizer() )
180                                            .arg( iSubject1 )
181                                            .arg( iDescription1 );
182
183         QCOMPARE( iMeeting1->toString(), meeting1ToString );
184 }