2 Situare - A location system for Facebook
3 Copyright (C) 2010 Ixonos Plc. Authors:
5 Jussi Laitinen - jussi.laitinen@ixonos.com
7 Situare is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License
9 version 2 as published by the Free Software Foundation.
11 Situare is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with Situare; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
24 #include "ui/friendlistitem.h"
25 #include "ui/listview.h"
27 class TestListView: public QObject
32 void cleanupTestCase();
38 void takeListItemFromView();
48 void TestListView::cleanupTestCase()
57 void TestListView::initTestCase()
59 listView = new ListView();
60 QVERIFY(listView != 0);
62 user1 = new User(QString("Address address address address address"),
63 GeoCoordinate(12.22, 23.33), QString("Name na msfdsa dsfadsaf sdaf"),
64 QString("Note note note note note note note note"),
65 QUrl("http://image.url"), QString("Timestamp timestamp timestamp tim"),
66 true, QString("key1"), QString("km"), 44.12);
67 user1->setProfileImage(QPixmap(":/res/images/profile_pic_border.png"));
68 user2 = new User(QString("Address address"),
69 GeoCoordinate(12.1, 44.33), QString("Name na msfdsa dsfadsaf sdaf"),
70 QString("Note note note note note note note note"),
71 QUrl("http://image.url"), QString("Timestamp timestamp timestamp tim"),
72 true, QString("key2"), QString("km"), 144.12);
73 user2->setProfileImage(QPixmap(":/res/images/profile_pic_border.png"));
74 user3 = new User(QString("Address address address address address"),
75 GeoCoordinate(12.22, 23.33), QString("Name na msfdsa dsfadsaf sdaf"),
76 QString("Note note note note note note note note"),
77 QUrl("http://image.url"), QString("Timestamp timestamp timestamp tim"),
78 true, QString("key3"), QString("km"), 44.12);
79 user3->setProfileImage(QPixmap(":/res/images/profile_pic_border.png"));
80 user4 = new User(QString("Address address"),
81 GeoCoordinate(12.1, 44.33), QString("Name na msfdsa dsfadsaf sdaf"),
82 QString("Note note note note note note note note"),
83 QUrl("http://image.url"), QString("Timestamp timestamp timestamp tim"),
84 true, QString("key4"), QString("km"), 144.12);
85 user4->setProfileImage(QPixmap(":/res/images/profile_pic_border.png"));
93 void TestListView::addListItem()
95 listView->addListItem("key1", new FriendListItem());
96 QCOMPARE(listView->count(), 1);
98 listView->addListItem("key1", new FriendListItem());
99 QCOMPARE(listView->count(), 1);
101 listView->addListItem("key2", new FriendListItem());
102 QCOMPARE(listView->count(), 2);
105 void TestListView::addItemToView()
107 listView->addListItemToView(new FriendListItem());
108 QCOMPARE(listView->count(), 3);
110 listView->addListItemToView(new FriendListItem());
111 QCOMPARE(listView->count(), 4);
113 listView->clearList();
114 QCOMPARE(listView->count(), 0);
117 void TestListView::clearUnused()
119 listView->addListItem("key1", new FriendListItem());
120 listView->addListItem("key2", new FriendListItem());
121 listView->addListItem("key3", new FriendListItem());
122 listView->addListItem("key4", new FriendListItem());
123 QCOMPARE(listView->count(), 4);
125 QStringList newUserIDs;
126 newUserIDs.append("key2");
127 newUserIDs.append("key3");
128 listView->clearUnused(newUserIDs);
129 QCOMPARE(listView->count(), 2);
130 QVERIFY(listView->listItem("key1") == 0);
131 QVERIFY(listView->listItem("key2") != 0);
132 QVERIFY(listView->listItem("key3") != 0);
133 QVERIFY(listView->listItem("key4") == 0);
136 void TestListView::filterList()
138 listView->clearList();
139 QCOMPARE(listView->count(), 0);
141 FriendListItem *item1 = new FriendListItem();
142 FriendListItem *item2 = new FriendListItem();
143 FriendListItem *item3 = new FriendListItem();;
144 FriendListItem *item4 = new FriendListItem();
146 item1->setUserData(user1);
147 item2->setUserData(user2);
148 item3->setUserData(user3);
149 item4->setUserData(user4);
151 listView->addListItem(item1->id(), item1);
152 listView->addListItem(item2->id(), item2);
153 listView->addListItem(item3->id(), item3);
154 listView->addListItem(item4->id(), item4);
155 QCOMPARE(listView->count(), 4);
157 QList<QString> userIDs;
158 userIDs.append(item1->id());
159 listView->filter(userIDs);
160 QCOMPARE(listView->count(), 4);
162 int hiddenCounter = 0;
164 for (int i = 0; i < listView->count(); ++i) {
165 if (listView->item(i)->isHidden())
169 QCOMPARE(hiddenCounter, 3);
171 userIDs.append(item2->id());
172 listView->filter(userIDs);
173 QCOMPARE(listView->count(), 4);
176 for (int i = 0; i < listView->count(); ++i) {
177 if (listView->item(i)->isHidden())
181 QCOMPARE(hiddenCounter, 2);
183 listView->clearFilter();
187 for (int i = 0; i < listView->count(); ++i) {
188 if (listView->item(i)->isHidden())
192 QCOMPARE(hiddenCounter, 0);
195 void TestListView::takeListItemFromView()
197 QCOMPARE(listView->count(), 4);
199 ListItem *item = listView->takeListItemFromView("key3");
201 QCOMPARE(listView->count(), 3);
202 QCOMPARE(item->id(), QString("key3"));
204 listView->addListItemToView(item);
205 QCOMPARE(listView->count(), 4);
208 QTEST_MAIN(TestListView)
209 #include "testlistview.moc"