@@ -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 |
|
|
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 |
|
|
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