##// END OF EJS Templates
Added more test for QBarModelMapper
Marek Rosa -
r1428:72f73c9d280d
parent child
Show More
@@ -37,6 +37,8 class tst_qbarmodelmapper : public QObject
37 37
38 38 public:
39 39 tst_qbarmodelmapper();
40 void createVerticalMapper();
41 void createHorizontalMapper();
40 42
41 43 private Q_SLOTS:
42 44 void initTestCase();
@@ -52,11 +54,24 class tst_qbarmodelmapper : public QObject
52 54 void horizontalMapperCustomMapping_data();
53 55 void horizontalMapperCustomMapping();
54 56
57 void verticalModelInsertRows();
58 void verticalModelRemoveRows();
59 void verticalModelInsertColumns();
60 void verticalModelRemoveColumns();
61 void horizontalModelInsertRows();
62 void horizontalModelRemoveRows();
63 void horizontalModelInsertColumns();
64 void horizontalModelRemoveColumns();
65 void modelUpdateCell();
66
55 67 private:
56 68 QStandardItemModel *m_model;
57 69 int m_modelRowCount;
58 70 int m_modelColumnCount;
59 71
72 QVBarModelMapper *m_vMapper;
73 QHBarModelMapper *m_hMapper;
74
60 75 QGroupedBarSeries *m_series;
61 76 QChart *m_chart;
62 77 };
@@ -64,14 +79,45 class tst_qbarmodelmapper : public QObject
64 79 tst_qbarmodelmapper::tst_qbarmodelmapper():
65 80 m_model(0),
66 81 m_modelRowCount(10),
67 m_modelColumnCount(8)
82 m_modelColumnCount(8),
83 m_vMapper(0),
84 m_hMapper(0),
85 m_series(0),
86 m_chart(0)
87 {
88 }
89
90 void tst_qbarmodelmapper::createVerticalMapper()
91 {
92 m_vMapper = new QVBarModelMapper;
93 QVERIFY(m_vMapper->model() == 0);
94 m_vMapper->setFirstBarSetColumn(0);
95 m_vMapper->setLastBarSetColumn(4);
96 m_vMapper->setModel(m_model);
97 m_vMapper->setSeries(m_series);
98 }
99
100 void tst_qbarmodelmapper::createHorizontalMapper()
68 101 {
102 m_hMapper = new QHBarModelMapper;
103 QVERIFY(m_hMapper->model() == 0);
104 m_hMapper->setFirstBarSetRow(0);
105 m_hMapper->setLastBarSetRow(4);
106 m_hMapper->setModel(m_model);
107 m_hMapper->setSeries(m_series);
69 108 }
70 109
71 110 void tst_qbarmodelmapper::init()
72 111 {
73 // m_series = new QGroupedBarSeries;
74 // m_chart->addSeries(m_series);
112 m_series = new QGroupedBarSeries;
113 m_chart->addSeries(m_series);
114
115 m_model = new QStandardItemModel(m_modelRowCount, m_modelColumnCount, this);
116 for (int row = 0; row < m_modelRowCount; ++row) {
117 for (int column = 0; column < m_modelColumnCount; column++) {
118 m_model->setData(m_model->index(row, column), row * column);
119 }
120 }
75 121 }
76 122
77 123 void tst_qbarmodelmapper::cleanup()
@@ -79,6 +125,20 void tst_qbarmodelmapper::cleanup()
79 125 m_chart->removeSeries(m_series);
80 126 delete m_series;
81 127 m_series = 0;
128
129 m_model->clear();
130 m_model->deleteLater();
131 m_model = 0;
132
133 if (m_vMapper) {
134 m_vMapper->deleteLater();
135 m_vMapper = 0;
136 }
137
138 if (m_hMapper) {
139 m_hMapper->deleteLater();
140 m_hMapper = 0;
141 }
82 142 }
83 143
84 144 void tst_qbarmodelmapper::initTestCase()
@@ -86,19 +146,10 void tst_qbarmodelmapper::initTestCase()
86 146 m_chart = new QChart;
87 147 QChartView *chartView = new QChartView(m_chart);
88 148 chartView->show();
89
90 m_model = new QStandardItemModel(this);
91 for (int row = 0; row < m_modelRowCount; ++row) {
92 for (int column = 0; column < m_modelColumnCount; column++) {
93 QStandardItem *item = new QStandardItem(row * column);
94 m_model->setItem(row, column, item);
95 }
96 }
97 149 }
98 150
99 151 void tst_qbarmodelmapper::cleanupTestCase()
100 152 {
101 m_model->clear();
102 153 }
103 154
104 155 void tst_qbarmodelmapper::verticalMapper_data()
@@ -281,6 +332,240 void tst_qbarmodelmapper::horizontalMapperCustomMapping()
281 332 mapper = 0;
282 333 }
283 334
335 void tst_qbarmodelmapper::verticalModelInsertRows()
336 {
337 // setup the mapper
338 createVerticalMapper();
339 QCOMPARE(m_series->barsetCount(), m_vMapper->lastBarSetColumn() - m_vMapper->firstBarSetColumn() + 1);
340 QCOMPARE(m_series->barSets().first()->count(), m_modelRowCount);
341 QVERIFY(m_vMapper->model() != 0);
342
343 int insertCount = 4;
344 m_model->insertRows(3, insertCount);
345 QCOMPARE(m_series->barsetCount(), m_vMapper->lastBarSetColumn() - m_vMapper->firstBarSetColumn() + 1);
346 QCOMPARE(m_series->barSets().first()->count(), m_modelRowCount + insertCount);
347
348 int first = 3;
349 m_vMapper->setFirst(3);
350 QCOMPARE(m_series->barsetCount(), m_vMapper->lastBarSetColumn() - m_vMapper->firstBarSetColumn() + 1);
351 QCOMPARE(m_series->barSets().first()->count(), m_modelRowCount + insertCount - first);
352
353 m_model->insertRows(3, insertCount);
354 QCOMPARE(m_series->barsetCount(), m_vMapper->lastBarSetColumn() - m_vMapper->firstBarSetColumn() + 1);
355 QCOMPARE(m_series->barSets().first()->count(), m_modelRowCount + 2 * insertCount - first);
356
357 int countLimit = 6;
358 m_vMapper->setCount(countLimit);
359 QCOMPARE(m_series->barsetCount(), m_vMapper->lastBarSetColumn() - m_vMapper->firstBarSetColumn() + 1);
360 QCOMPARE(m_series->barSets().first()->count(), qMin(countLimit, m_modelRowCount + 2 * insertCount - first));
361
362 m_model->insertRows(3, insertCount);
363 QCOMPARE(m_series->barsetCount(), m_vMapper->lastBarSetColumn() - m_vMapper->firstBarSetColumn() + 1);
364 QCOMPARE(m_series->barSets().first()->count(), qMin(countLimit, m_modelRowCount + 3 * insertCount - first));
365
366 m_vMapper->setFirst(0);
367 QCOMPARE(m_series->barsetCount(), m_vMapper->lastBarSetColumn() - m_vMapper->firstBarSetColumn() + 1);
368 QCOMPARE(m_series->barSets().first()->count(), qMin(countLimit, m_modelRowCount + 3 * insertCount));
369
370 m_vMapper->setCount(-1);
371 QCOMPARE(m_series->barsetCount(), m_vMapper->lastBarSetColumn() - m_vMapper->firstBarSetColumn() + 1);
372 QCOMPARE(m_series->barSets().first()->count(), m_modelRowCount + 3 * insertCount);
373 }
374
375 void tst_qbarmodelmapper::verticalModelRemoveRows()
376 {
377 // setup the mapper
378 createVerticalMapper();
379 QCOMPARE(m_series->barsetCount(), m_vMapper->lastBarSetColumn() - m_vMapper->firstBarSetColumn() + 1);
380 QCOMPARE(m_series->barSets().first()->count(), m_modelRowCount);
381 QVERIFY(m_vMapper->model() != 0);
382
383 int removeCount = 2;
384 m_model->removeRows(1, removeCount);
385 QCOMPARE(m_series->barsetCount(), m_vMapper->lastBarSetColumn() - m_vMapper->firstBarSetColumn() + 1);
386 QCOMPARE(m_series->barSets().first()->count(), m_modelRowCount - removeCount);
387
388 int first = 1;
389 m_vMapper->setFirst(first);
390 QCOMPARE(m_series->barsetCount(), m_vMapper->lastBarSetColumn() - m_vMapper->firstBarSetColumn() + 1);
391 QCOMPARE(m_series->barSets().first()->count(), m_modelRowCount - removeCount - first);
392
393 m_model->removeRows(1, removeCount);
394 QCOMPARE(m_series->barsetCount(), m_vMapper->lastBarSetColumn() - m_vMapper->firstBarSetColumn() + 1);
395 QCOMPARE(m_series->barSets().first()->count(), m_modelRowCount - 2 * removeCount - first);
396
397 int countLimit = 3;
398 m_vMapper->setCount(countLimit);
399 QCOMPARE(m_series->barsetCount(), m_vMapper->lastBarSetColumn() - m_vMapper->firstBarSetColumn() + 1);
400 QCOMPARE(m_series->barSets().first()->count(), qMin(countLimit, m_modelRowCount - 2 * removeCount - first));
401
402 m_model->removeRows(1, removeCount);
403 QCOMPARE(m_series->barsetCount(), m_vMapper->lastBarSetColumn() - m_vMapper->firstBarSetColumn() + 1);
404 QCOMPARE(m_series->barSets().first()->count(), qMin(countLimit, m_modelRowCount - 3 * removeCount - first));
405
406 m_vMapper->setFirst(0);
407 QCOMPARE(m_series->barsetCount(), m_vMapper->lastBarSetColumn() - m_vMapper->firstBarSetColumn() + 1);
408 QCOMPARE(m_series->barSets().first()->count(), qMin(countLimit, m_modelRowCount - 3 * removeCount));
409
410 m_vMapper->setCount(-1);
411 QCOMPARE(m_series->barsetCount(), m_vMapper->lastBarSetColumn() - m_vMapper->firstBarSetColumn() + 1);
412 QCOMPARE(m_series->barSets().first()->count(), m_modelRowCount - 3 * removeCount);
413 }
414
415 void tst_qbarmodelmapper::verticalModelInsertColumns()
416 {
417 // setup the mapper
418 createVerticalMapper();
419 QCOMPARE(m_series->barsetCount(), m_vMapper->lastBarSetColumn() - m_vMapper->firstBarSetColumn() + 1);
420 QCOMPARE(m_series->barSets().first()->count(), m_modelRowCount);
421 QVERIFY(m_vMapper->model() != 0);
422
423 int insertCount = 4;
424 m_model->insertColumns(3, insertCount);
425 QCOMPARE(m_series->barsetCount(), m_vMapper->lastBarSetColumn() - m_vMapper->firstBarSetColumn() + 1);
426 QCOMPARE(m_series->barSets().first()->count(), m_modelRowCount);
427 }
428
429 void tst_qbarmodelmapper::verticalModelRemoveColumns()
430 {
431 // setup the mapper
432 createVerticalMapper();
433 QCOMPARE(m_series->barsetCount(), qMin(m_model->columnCount(), m_vMapper->lastBarSetColumn() - m_vMapper->firstBarSetColumn() + 1));
434 QCOMPARE(m_series->barSets().first()->count(), m_modelRowCount);
435 QVERIFY(m_vMapper->model() != 0);
436
437 int removeCount = m_modelColumnCount - 2;
438 m_model->removeColumns(0, removeCount);
439 QCOMPARE(m_series->barsetCount(), qMin(m_model->columnCount(), m_vMapper->lastBarSetColumn() - m_vMapper->firstBarSetColumn() + 1));
440 QCOMPARE(m_series->barSets().first()->count(), m_modelRowCount);
441
442 // leave all the columns
443 m_model->removeColumns(0, m_modelColumnCount - removeCount);
444 QCOMPARE(m_series->barsetCount(), 0);
445 }
446
447 void tst_qbarmodelmapper::horizontalModelInsertRows()
448 {
449 // setup the mapper
450 createHorizontalMapper();
451 QCOMPARE(m_series->barsetCount(), m_hMapper->lastBarSetRow() - m_hMapper->firstBarSetRow() + 1);
452 QCOMPARE(m_series->barSets().first()->count(), m_modelColumnCount);
453 QVERIFY(m_hMapper->model() != 0);
454
455 int insertCount = 4;
456 m_model->insertRows(3, insertCount);
457 QCOMPARE(m_series->barsetCount(), m_hMapper->lastBarSetRow() - m_hMapper->firstBarSetRow() + 1);
458 QCOMPARE(m_series->barSets().first()->count(), m_modelColumnCount);
459 }
460
461 void tst_qbarmodelmapper::horizontalModelRemoveRows()
462 {
463 // setup the mapper
464 createHorizontalMapper();
465 QCOMPARE(m_series->barsetCount(), qMin(m_model->rowCount(), m_hMapper->lastBarSetRow() - m_hMapper->firstBarSetRow() + 1));
466 QCOMPARE(m_series->barSets().first()->count(), m_modelColumnCount);
467 QVERIFY(m_hMapper->model() != 0);
468
469 int removeCount = m_modelRowCount - 2;
470 m_model->removeRows(0, removeCount);
471 QCOMPARE(m_series->barsetCount(), qMin(m_model->rowCount(), m_hMapper->lastBarSetRow() - m_hMapper->firstBarSetRow() + 1));
472 QCOMPARE(m_series->barSets().first()->count(), m_modelColumnCount);
473
474 // leave all the columns
475 m_model->removeRows(0, m_modelRowCount - removeCount);
476 QCOMPARE(m_series->barsetCount(), 0);
477 }
478
479 void tst_qbarmodelmapper::horizontalModelInsertColumns()
480 {
481 // setup the mapper
482 createHorizontalMapper();
483 QCOMPARE(m_series->barsetCount(), m_hMapper->lastBarSetRow() - m_hMapper->firstBarSetRow() + 1);
484 QCOMPARE(m_series->barSets().first()->count(), m_modelColumnCount);
485 QVERIFY(m_hMapper->model() != 0);
486
487 int insertCount = 4;
488 m_model->insertColumns(3, insertCount);
489 QCOMPARE(m_series->barsetCount(), m_hMapper->lastBarSetRow() - m_hMapper->firstBarSetRow() + 1);
490 QCOMPARE(m_series->barSets().first()->count(), m_modelColumnCount + insertCount);
491
492 int first = 3;
493 m_hMapper->setFirst(3);
494 QCOMPARE(m_series->barsetCount(), m_hMapper->lastBarSetRow() - m_hMapper->firstBarSetRow() + 1);
495 QCOMPARE(m_series->barSets().first()->count(), m_modelColumnCount + insertCount - first);
496
497 m_model->insertColumns(3, insertCount);
498 QCOMPARE(m_series->barsetCount(), m_hMapper->lastBarSetRow() - m_hMapper->firstBarSetRow() + 1);
499 QCOMPARE(m_series->barSets().first()->count(), m_modelColumnCount + 2 * insertCount - first);
500
501 int countLimit = 6;
502 m_hMapper->setCount(countLimit);
503 QCOMPARE(m_series->barsetCount(), m_hMapper->lastBarSetRow() - m_hMapper->firstBarSetRow() + 1);
504 QCOMPARE(m_series->barSets().first()->count(), qMin(countLimit, m_modelColumnCount + 2 * insertCount - first));
505
506 m_model->insertColumns(3, insertCount);
507 QCOMPARE(m_series->barsetCount(), m_hMapper->lastBarSetRow() - m_hMapper->firstBarSetRow() + 1);
508 QCOMPARE(m_series->barSets().first()->count(), qMin(countLimit, m_modelColumnCount + 3 * insertCount - first));
509
510 m_hMapper->setFirst(0);
511 QCOMPARE(m_series->barsetCount(), m_hMapper->lastBarSetRow() - m_hMapper->firstBarSetRow() + 1);
512 QCOMPARE(m_series->barSets().first()->count(), qMin(countLimit, m_modelColumnCount + 3 * insertCount));
513
514 m_hMapper->setCount(-1);
515 QCOMPARE(m_series->barsetCount(), m_hMapper->lastBarSetRow() - m_hMapper->firstBarSetRow() + 1);
516 QCOMPARE(m_series->barSets().first()->count(), m_modelColumnCount + 3 * insertCount);
517 }
518
519 void tst_qbarmodelmapper::horizontalModelRemoveColumns()
520 {
521 // setup the mapper
522 createHorizontalMapper();
523 QCOMPARE(m_series->barsetCount(), m_hMapper->lastBarSetRow() - m_hMapper->firstBarSetRow() + 1);
524 QCOMPARE(m_series->barSets().first()->count(), m_modelColumnCount);
525 QVERIFY(m_hMapper->model() != 0);
526
527 int removeCount = 2;
528 m_model->removeColumns(1, removeCount);
529 QCOMPARE(m_series->barsetCount(), m_hMapper->lastBarSetRow() - m_hMapper->firstBarSetRow() + 1);
530 QCOMPARE(m_series->barSets().first()->count(), m_modelColumnCount - removeCount);
531
532 int first = 1;
533 m_hMapper->setFirst(first);
534 QCOMPARE(m_series->barsetCount(), m_hMapper->lastBarSetRow() - m_hMapper->firstBarSetRow() + 1);
535 QCOMPARE(m_series->barSets().first()->count(), m_modelColumnCount - removeCount - first);
536
537 m_model->removeColumns(1, removeCount);
538 QCOMPARE(m_series->barsetCount(), m_hMapper->lastBarSetRow() - m_hMapper->firstBarSetRow() + 1);
539 QCOMPARE(m_series->barSets().first()->count(), m_modelColumnCount - 2 * removeCount - first);
540
541 int countLimit = 3;
542 m_hMapper->setCount(countLimit);
543 QCOMPARE(m_series->barsetCount(), m_hMapper->lastBarSetRow() - m_hMapper->firstBarSetRow() + 1);
544 QCOMPARE(m_series->barSets().first()->count(), qMin(countLimit, m_modelColumnCount - 2 * removeCount - first));
545
546 m_model->removeColumns(1, removeCount);
547 QCOMPARE(m_series->barsetCount(), m_hMapper->lastBarSetRow() - m_hMapper->firstBarSetRow() + 1);
548 QCOMPARE(m_series->barSets().first()->count(), qMin(countLimit, m_modelColumnCount - 3 * removeCount - first));
549
550 m_hMapper->setFirst(0);
551 QCOMPARE(m_series->barsetCount(), m_hMapper->lastBarSetRow() - m_hMapper->firstBarSetRow() + 1);
552 QCOMPARE(m_series->barSets().first()->count(), qMin(countLimit, m_modelColumnCount - 3 * removeCount));
553
554 m_hMapper->setCount(-1);
555 QCOMPARE(m_series->barsetCount(), m_hMapper->lastBarSetRow() - m_hMapper->firstBarSetRow() + 1);
556 QCOMPARE(m_series->barSets().first()->count(), m_modelColumnCount - 3 * removeCount);
557 }
558
559 void tst_qbarmodelmapper::modelUpdateCell()
560 {
561 // setup the mapper
562 createVerticalMapper();
563
564 QVERIFY(m_model->setData(m_model->index(1, 0), 44));
565 QCOMPARE(m_series->barSets().at(0)->at(1).y(), 44.0);
566 QCOMPARE(m_model->data(m_model->index(1, 0)).toReal(), 44.0);
567 }
568
284 569 QTEST_MAIN(tst_qbarmodelmapper)
285 570
286 571 #include "tst_qbarmodelmapper.moc"
General Comments 0
You need to be logged in to leave comments. Login now