##// END OF EJS Templates
tst_qpieseries: check added/removed signals
Jani Honkonen -
r1291:eefcc7931b49
parent child
Show More
@@ -30,6 +30,7
30 QTCOMMERCIALCHART_USE_NAMESPACE
30 QTCOMMERCIALCHART_USE_NAMESPACE
31
31
32 Q_DECLARE_METATYPE(QPieSlice*)
32 Q_DECLARE_METATYPE(QPieSlice*)
33 Q_DECLARE_METATYPE(QList<QPieSlice*>)
33
34
34 class tst_qpieseries : public QObject
35 class tst_qpieseries : public QObject
35 {
36 {
@@ -60,6 +61,7 private:
60 void tst_qpieseries::initTestCase()
61 void tst_qpieseries::initTestCase()
61 {
62 {
62 qRegisterMetaType<QPieSlice*>("QPieSlice*");
63 qRegisterMetaType<QPieSlice*>("QPieSlice*");
64 qRegisterMetaType<QList<QPieSlice*> >("QList<QPieSlice*>");
63 }
65 }
64
66
65 void tst_qpieseries::cleanupTestCase()
67 void tst_qpieseries::cleanupTestCase()
@@ -149,6 +151,7 void tst_qpieseries::properties()
149 void tst_qpieseries::append()
151 void tst_qpieseries::append()
150 {
152 {
151 QPieSeries s;
153 QPieSeries s;
154 QSignalSpy addedSpy(&s, SIGNAL(added(QList<QPieSlice*>)));
152
155
153 // append pointer
156 // append pointer
154 QPieSlice *slice1 = 0;
157 QPieSlice *slice1 = 0;
@@ -157,6 +160,10 void tst_qpieseries::append()
157 QVERIFY(s.append(slice1));
160 QVERIFY(s.append(slice1));
158 QVERIFY(!s.append(slice1));
161 QVERIFY(!s.append(slice1));
159 QCOMPARE(s.count(), 1);
162 QCOMPARE(s.count(), 1);
163 QCOMPARE(addedSpy.count(), 1);
164 QList<QPieSlice*> added = qvariant_cast<QList<QPieSlice*> >(addedSpy.at(0).at(0));
165 QCOMPARE(added.count(), 1);
166 QCOMPARE(added.first(), slice1);
160
167
161 // append pointer list
168 // append pointer list
162 QList<QPieSlice *> list;
169 QList<QPieSlice *> list;
@@ -169,11 +176,20 void tst_qpieseries::append()
169 QVERIFY(s.append(list));
176 QVERIFY(s.append(list));
170 QVERIFY(!s.append(list));
177 QVERIFY(!s.append(list));
171 QCOMPARE(s.count(), 3);
178 QCOMPARE(s.count(), 3);
179 QCOMPARE(addedSpy.count(), 2);
180 added = qvariant_cast<QList<QPieSlice*> >(addedSpy.at(1).at(0));
181 QCOMPARE(added.count(), 2);
182 QCOMPARE(added, list);
172
183
173 // append operator
184 // append operator
174 s << new QPieSlice("slice 4", 4);
185 QPieSlice *slice4 = new QPieSlice("slice 4", 4);
186 s << slice4;
175 s << slice1; // fails because already added
187 s << slice1; // fails because already added
176 QCOMPARE(s.count(), 4);
188 QCOMPARE(s.count(), 4);
189 QCOMPARE(addedSpy.count(), 3);
190 added = qvariant_cast<QList<QPieSlice*> >(addedSpy.at(2).at(0));
191 QCOMPARE(added.count(), 1);
192 QCOMPARE(added.first(), slice4);
177
193
178 // append with params
194 // append with params
179 QPieSlice *slice5 = s.append("slice 5", 5);
195 QPieSlice *slice5 = s.append("slice 5", 5);
@@ -181,6 +197,10 void tst_qpieseries::append()
181 QCOMPARE(slice5->value(), 5.0);
197 QCOMPARE(slice5->value(), 5.0);
182 QCOMPARE(slice5->label(), QString("slice 5"));
198 QCOMPARE(slice5->label(), QString("slice 5"));
183 QCOMPARE(s.count(), 5);
199 QCOMPARE(s.count(), 5);
200 QCOMPARE(addedSpy.count(), 4);
201 added = qvariant_cast<QList<QPieSlice*> >(addedSpy.at(3).at(0));
202 QCOMPARE(added.count(), 1);
203 QCOMPARE(added.first(), slice5);
184
204
185 // check slices
205 // check slices
186 QVERIFY(!s.isEmpty());
206 QVERIFY(!s.isEmpty());
@@ -193,6 +213,7 void tst_qpieseries::append()
193 void tst_qpieseries::insert()
213 void tst_qpieseries::insert()
194 {
214 {
195 QPieSeries s;
215 QPieSeries s;
216 QSignalSpy addedSpy(&s, SIGNAL(added(QList<QPieSlice*>)));
196
217
197 // insert one slice
218 // insert one slice
198 QPieSlice *slice1 = 0;
219 QPieSlice *slice1 = 0;
@@ -203,15 +224,31 void tst_qpieseries::insert()
203 QVERIFY(s.insert(0, slice1));
224 QVERIFY(s.insert(0, slice1));
204 QVERIFY(!s.insert(0, slice1));
225 QVERIFY(!s.insert(0, slice1));
205 QCOMPARE(s.count(), 1);
226 QCOMPARE(s.count(), 1);
227 QCOMPARE(addedSpy.count(), 1);
228 QList<QPieSlice*> added = qvariant_cast<QList<QPieSlice*> >(addedSpy.at(0).at(0));
229 QCOMPARE(added.count(), 1);
230 QCOMPARE(added.first(), slice1);
206
231
207 // add some more slices
232 // add some more slices
208 s.append("slice 2", 2);
233 QPieSlice *slice2 = s.append("slice 2", 2);
209 s.append("slice 4", 4);
234 QPieSlice *slice4 = s.append("slice 4", 4);
210 QCOMPARE(s.count(), 3);
235 QCOMPARE(s.count(), 3);
236 QCOMPARE(addedSpy.count(), 3);
237 added = qvariant_cast<QList<QPieSlice*> >(addedSpy.at(1).at(0));
238 QCOMPARE(added.count(), 1);
239 QCOMPARE(added.first(), slice2);
240 added = qvariant_cast<QList<QPieSlice*> >(addedSpy.at(2).at(0));
241 QCOMPARE(added.count(), 1);
242 QCOMPARE(added.first(), slice4);
211
243
212 // insert between slices
244 // insert between slices
213 s.insert(2, new QPieSlice("slice 3", 3));
245 QPieSlice *slice3 = new QPieSlice("slice 3", 3);
246 s.insert(2, slice3);
214 QCOMPARE(s.count(), 4);
247 QCOMPARE(s.count(), 4);
248 QCOMPARE(addedSpy.count(), 4);
249 added = qvariant_cast<QList<QPieSlice*> >(addedSpy.at(3).at(0));
250 QCOMPARE(added.count(), 1);
251 QCOMPARE(added.first(), slice3);
215
252
216 // check slices
253 // check slices
217 for (int i=0; i<s.count(); i++) {
254 for (int i=0; i<s.count(); i++) {
@@ -223,6 +260,7 void tst_qpieseries::insert()
223 void tst_qpieseries::remove()
260 void tst_qpieseries::remove()
224 {
261 {
225 QPieSeries s;
262 QPieSeries s;
263 QSignalSpy removedSpy(&s, SIGNAL(removed(QList<QPieSlice*>)));
226
264
227 // add some slices
265 // add some slices
228 QPieSlice *slice1 = s.append("slice 1", 1);
266 QPieSlice *slice1 = s.append("slice 1", 1);
@@ -241,12 +279,21 void tst_qpieseries::remove()
241 QVERIFY(!s.remove(slice1));
279 QVERIFY(!s.remove(slice1));
242 QCOMPARE(s.count(), 2);
280 QCOMPARE(s.count(), 2);
243 QCOMPARE(s.slices().at(0)->label(), slice2->label());
281 QCOMPARE(s.slices().at(0)->label(), slice2->label());
282 QCOMPARE(removedSpy.count(), 1);
283 QList<QPieSlice*> removed = qvariant_cast<QList<QPieSlice*> >(removedSpy.at(0).at(0));
284 QCOMPARE(removed.count(), 1);
285 QCOMPARE(removed.first(), slice1);
244
286
245 // remove all
287 // remove all
246 s.clear();
288 s.clear();
247 QVERIFY(s.isEmpty());
289 QVERIFY(s.isEmpty());
248 QVERIFY(s.slices().isEmpty());
290 QVERIFY(s.slices().isEmpty());
249 QCOMPARE(s.count(), 0);
291 QCOMPARE(s.count(), 0);
292 QCOMPARE(removedSpy.count(), 2);
293 removed = qvariant_cast<QList<QPieSlice*> >(removedSpy.at(1).at(0));
294 QCOMPARE(removed.count(), 2);
295 QCOMPARE(removed.first(), slice2);
296 QCOMPARE(removed.last(), slice3);
250
297
251 // check that slices were actually destroyed
298 // check that slices were actually destroyed
252 TRY_COMPARE(spy1.count(), 1);
299 TRY_COMPARE(spy1.count(), 1);
General Comments 0
You need to be logged in to leave comments. Login now