##// END OF EJS Templates
improved set/remove barset test cases. fixed errors
sauimone -
r1122:844c2fd5d036
parent child
Show More
@@ -167,25 +167,19 bool QBarSeries::removeBarSets(QList<QBarSet* > sets)
167 {
167 {
168 Q_D(QBarSeries);
168 Q_D(QBarSeries);
169
169
170 foreach (QBarSet* set, sets) {
170 bool setsRemoved = false;
171 if ((set == 0) || (!d->m_barSets.contains(set))) {
172 // Fail if any of the sets is null or isn't in m_barSets
173 return false;
174 }
175 if (sets.count(set) != 1) {
176 // Also fail if same set is more than once in given list.
177 return false;
178 }
179 }
180
181 foreach (QBarSet* set, sets) {
171 foreach (QBarSet* set, sets) {
182 if (d->m_barSets.contains(set)) {
172 if (d->m_barSets.contains(set)) {
183 d->m_barSets.removeOne(set);
173 d->m_barSets.removeOne(set);
184 QObject::disconnect(set->d_ptr.data(), SIGNAL(updatedBars()), d, SLOT(barsetChanged()));
174 QObject::disconnect(set->d_ptr.data(), SIGNAL(updatedBars()), d, SLOT(barsetChanged()));
175 setsRemoved = true;
185 }
176 }
186 }
177 }
187 emit d->restructuredBars();
178
188 return true;
179 if (setsRemoved) {
180 emit d->restructuredBars();
181 }
182 return setsRemoved;
189 }
183 }
190
184
191 /*!
185 /*!
@@ -167,15 +167,32 void tst_QBarSeries::appendBarSet()
167 {
167 {
168 QVERIFY(m_barseries->barsetCount() == 0);
168 QVERIFY(m_barseries->barsetCount() == 0);
169
169
170 bool ret = false;
171
172 // Try adding barset
170 QBarSet *barset = new QBarSet("testset");
173 QBarSet *barset = new QBarSet("testset");
171 m_barseries->appendBarSet(barset);
174 ret = m_barseries->appendBarSet(barset);
172
175
176 QVERIFY(ret == true);
173 QVERIFY(m_barseries->barsetCount() == 1);
177 QVERIFY(m_barseries->barsetCount() == 1);
174
178
179 // Try adding another set
175 QBarSet *barset2 = new QBarSet("testset2");
180 QBarSet *barset2 = new QBarSet("testset2");
176 m_barseries->appendBarSet(barset2);
181 ret = m_barseries->appendBarSet(barset2);
182
183 QVERIFY(ret == true);
184 QVERIFY(m_barseries->barsetCount() == 2);
177
185
186 // Try adding same set again
187 ret = m_barseries->appendBarSet(barset2);
188 QVERIFY(ret == false);
178 QVERIFY(m_barseries->barsetCount() == 2);
189 QVERIFY(m_barseries->barsetCount() == 2);
190
191 // Try adding null set
192 ret = m_barseries->appendBarSet(0);
193 QVERIFY(ret == false);
194 QVERIFY(m_barseries->barsetCount() == 2);
195
179 }
196 }
180
197
181 void tst_QBarSeries::removeBarSet_data()
198 void tst_QBarSeries::removeBarSet_data()
@@ -187,10 +204,24 void tst_QBarSeries::removeBarSet()
187 int count = m_testSets.count();
204 int count = m_testSets.count();
188 QVERIFY(m_barseries_with_sets->barsetCount() == count);
205 QVERIFY(m_barseries_with_sets->barsetCount() == count);
189
206
207 // Try to remove null pointer (should not remove, should not crash)
208 bool ret = false;
209 ret = m_barseries_with_sets->removeBarSet(0);
210 QVERIFY(ret == false);
211 QVERIFY(m_barseries_with_sets->barsetCount() == count);
212
213 // Try to remove invalid pointer (should not remove, should not crash)
214 ret = m_barseries_with_sets->removeBarSet((QBarSet*) (m_testSets.at(0) + 1) );
215 QVERIFY(ret == false);
216 QVERIFY(m_barseries_with_sets->barsetCount() == count);
217
190 // remove some sets
218 // remove some sets
191 m_barseries_with_sets->removeBarSet(m_testSets.at(2));
219 ret = m_barseries_with_sets->removeBarSet(m_testSets.at(2));
192 m_barseries_with_sets->removeBarSet(m_testSets.at(3));
220 QVERIFY(ret == true);
193 m_barseries_with_sets->removeBarSet(m_testSets.at(4));
221 ret = m_barseries_with_sets->removeBarSet(m_testSets.at(3));
222 QVERIFY(ret == true);
223 ret = m_barseries_with_sets->removeBarSet(m_testSets.at(4));
224 QVERIFY(ret == true);
194
225
195 QVERIFY(m_barseries_with_sets->barsetCount() == 2);
226 QVERIFY(m_barseries_with_sets->barsetCount() == 2);
196
227
@@ -199,11 +230,13 void tst_QBarSeries::removeBarSet()
199 QVERIFY(verifysets.at(0) == m_testSets.at(0));
230 QVERIFY(verifysets.at(0) == m_testSets.at(0));
200 QVERIFY(verifysets.at(1) == m_testSets.at(1));
231 QVERIFY(verifysets.at(1) == m_testSets.at(1));
201
232
202 // Try removing all sets again
233 // Try removing all sets again (should be ok, even if some sets have already been removed)
234 ret = false;
203 for (int i=0; i<count; i++) {
235 for (int i=0; i<count; i++) {
204 m_barseries_with_sets->removeBarSet(m_testSets.at(i));
236 ret |= m_barseries_with_sets->removeBarSet(m_testSets.at(i));
205 }
237 }
206
238
239 QVERIFY(ret == true);
207 QVERIFY(m_barseries_with_sets->barsetCount() == 0);
240 QVERIFY(m_barseries_with_sets->barsetCount() == 0);
208 }
241 }
209
242
@@ -222,7 +255,37 void tst_QBarSeries::appendBarSets()
222 sets.append(new QBarSet("testset"));
255 sets.append(new QBarSet("testset"));
223 }
256 }
224
257
225 m_barseries->appendBarSets(sets);
258 // Append new sets (should succeed, count should match the count of sets)
259 bool ret = false;
260 ret = m_barseries->appendBarSets(sets);
261 QVERIFY(ret == true);
262 QVERIFY(m_barseries->barsetCount() == count);
263
264 // Append same sets again (should fail, count should remain same)
265 ret = m_barseries->appendBarSets(sets);
266 QVERIFY(ret == false);
267 QVERIFY(m_barseries->barsetCount() == count);
268
269 // Try append empty list (should succeed, but count should remain same)
270 QList<QBarSet*> invalidList;
271 ret = m_barseries->appendBarSets(invalidList);
272 QVERIFY(ret == true);
273 QVERIFY(m_barseries->barsetCount() == count);
274
275 // Try append list with one new and one existing set (should fail, count remains same)
276 invalidList.append(new QBarSet("ok set"));
277 invalidList.append(sets.at(0));
278 ret = m_barseries->appendBarSets(invalidList);
279 QVERIFY(ret == false);
280 QVERIFY(m_barseries->barsetCount() == count);
281
282 // Try append list with null pointers (should fail, count remains same)
283 QList<QBarSet*> invalidList2;
284 invalidList2.append(0);
285 invalidList2.append(0);
286 invalidList2.append(0);
287 ret = m_barseries->appendBarSets(invalidList2);
288 QVERIFY(ret == false);
226 QVERIFY(m_barseries->barsetCount() == count);
289 QVERIFY(m_barseries->barsetCount() == count);
227 }
290 }
228
291
@@ -236,21 +299,36 void tst_QBarSeries::removeBarSets()
236 int count = m_testSets.count();
299 int count = m_testSets.count();
237 QVERIFY(m_barseries_with_sets->barsetCount() == count);
300 QVERIFY(m_barseries_with_sets->barsetCount() == count);
238
301
239 // Try removing empty list of sets
302 // Try removing empty list of sets (should return false, since no barsets were removed)
240 QList<QBarSet*> empty;
303 bool ret = false;
241 m_barseries_with_sets->removeBarSets(empty);
304 QList<QBarSet*> invalidList;
305 ret = m_barseries_with_sets->removeBarSets(invalidList);
306 QVERIFY(ret == false);
307 QVERIFY(m_barseries_with_sets->barsetCount() == count);
308
309 // Add some null pointers to list
310 invalidList.append(0);
311 invalidList.append(0);
312 invalidList.append(0);
313
314 // Try removing null pointers from list (should return false, should not crash, should not remove anything)
315 ret = m_barseries_with_sets->removeBarSets(invalidList);
316 QVERIFY(ret == false);
242 QVERIFY(m_barseries_with_sets->barsetCount() == count);
317 QVERIFY(m_barseries_with_sets->barsetCount() == count);
243
318
244 // remove all sets
319 // remove all sets (should return true, since sets were removed)
245 m_barseries_with_sets->removeBarSets(m_testSets);
320 ret = m_barseries_with_sets->removeBarSets(m_testSets);
321 QVERIFY(ret == true);
246 QVERIFY(m_barseries_with_sets->barsetCount() == 0);
322 QVERIFY(m_barseries_with_sets->barsetCount() == 0);
247
323
248 // Try removing empty list again
324 // Try removing invalid list again (should return false, since no barsets were removed)
249 m_barseries_with_sets->removeBarSets(empty);
325 ret = m_barseries_with_sets->removeBarSets(invalidList);
326 QVERIFY(ret == false);
250 QVERIFY(m_barseries_with_sets->barsetCount() == 0);
327 QVERIFY(m_barseries_with_sets->barsetCount() == 0);
251
328
252 // remove all sets again
329 // remove all sets again (should return false, since barsets were already removed)
253 m_barseries_with_sets->removeBarSets(m_testSets);
330 ret = m_barseries_with_sets->removeBarSets(m_testSets);
331 QVERIFY(ret == false);
254 QVERIFY(m_barseries_with_sets->barsetCount() == 0);
332 QVERIFY(m_barseries_with_sets->barsetCount() == 0);
255 }
333 }
256
334
General Comments 0
You need to be logged in to leave comments. Login now