diff options
author | Marius Bugge Monsen <mmonsen@trolltech.com> | 2009-05-11 11:42:17 +0200 |
---|---|---|
committer | Marius Bugge Monsen <mmonsen@trolltech.com> | 2009-05-11 11:42:17 +0200 |
commit | f2692e22c44a80774082b7b1d1b2d16f7f4f740a (patch) | |
tree | 116b386d01f267feb93986643eedbc3b8a8d9413 /tests | |
parent | 90eb9e9270c0748f69d1cccc4bde36cd987436a9 (diff) |
Add test data for QtTableSelectionManager current cell and anchor cell.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/qtableselectionmanager/tst_qtableselectionmanager.cpp | 244 |
1 files changed, 244 insertions, 0 deletions
diff --git a/tests/qtableselectionmanager/tst_qtableselectionmanager.cpp b/tests/qtableselectionmanager/tst_qtableselectionmanager.cpp index 07e0fe1..e1e3b8b 100644 --- a/tests/qtableselectionmanager/tst_qtableselectionmanager.cpp +++ b/tests/qtableselectionmanager/tst_qtableselectionmanager.cpp @@ -109,10 +109,132 @@ void tst_QtTableSelectionManager::getSetCheck() */ void tst_QtTableSelectionManager::currentCell_data() { + QTest::addColumn<bool>("useModel"); + QTest::addColumn<int>("rowCount"); + QTest::addColumn<int>("columnCount"); + QTest::addColumn<int>("initialCurrentRow"); + QTest::addColumn<int>("initialCurrentColumn"); + QTest::addColumn<int>("newCurrentRow"); + QTest::addColumn<int>("newCurrentColumn"); + QTest::addColumn<int>("expectedCurrentRow"); + QTest::addColumn<int>("expectedCurrentColumn"); + QTest::addColumn<int>("insertRowsAt"); + QTest::addColumn<int>("insertRowCount"); + QTest::addColumn<int>("insertColumnsAt"); + QTest::addColumn<int>("insertColumnCount"); + QTest::addColumn<int>("removeRowsAt"); + QTest::addColumn<int>("removeRowCount"); + QTest::addColumn<int>("removeColumnsAt"); + QTest::addColumn<int>("removeColumnCount"); + QTest::addColumn<int>("moveRowsFrom"); + QTest::addColumn<int>("moveRowsTo"); + QTest::addColumn<int>("moveRowCount"); + QTest::addColumn<int>("moveColumnsFrom"); + QTest::addColumn<int>("moveColumnsTo"); + QTest::addColumn<int>("moveColumnCount"); + QTest::addColumn<int>("changedCurrentRow"); + QTest::addColumn<int>("changedCurrentColumn"); + QTest::addColumn<int>("signalCount"); + + QTest::newRow("no model") + << false + << 0 << 0 // cell count + << -1 << -1 // current cell + << 0 << 0 // new current + << -1 << -1 // expected current + << 0 << 0 // insert rows + << 0 << 0 // insert columns + << 0 << 0 // remove rows + << 0 << 0 // remove columns + << 0 << 0 << 0 // move rows + << 0 << 0 << 0 // move columns + << -1 << -1 // changed current + << 0; // signals } void tst_QtTableSelectionManager::currentCell() { + QFETCH(bool, useModel); + QFETCH(int, rowCount); + QFETCH(int, columnCount); + QFETCH(int, initialCurrentRow); + QFETCH(int, initialCurrentColumn); + QFETCH(int, newCurrentRow); + QFETCH(int, newCurrentColumn); + QFETCH(int, expectedCurrentRow); + QFETCH(int, expectedCurrentColumn); + QFETCH(int, insertRowsAt); + QFETCH(int, insertRowCount); + QFETCH(int, insertColumnsAt); + QFETCH(int, insertColumnCount); + QFETCH(int, removeRowsAt); + QFETCH(int, removeRowCount); + QFETCH(int, removeColumnsAt); + QFETCH(int, removeColumnCount); + QFETCH(int, moveRowsFrom); + QFETCH(int, moveRowsTo); + QFETCH(int, moveRowCount); + QFETCH(int, moveColumnsFrom); + QFETCH(int, moveColumnsTo); + QFETCH(int, moveColumnCount); + QFETCH(int, changedCurrentRow); + QFETCH(int, changedCurrentColumn); + QFETCH(int, signalCount); + + QSignalSpy currentChanged(manager, SIGNAL(currentChanged(int,int,int,int))); + + // start without model + manager->setModel(0); + + // setup the model row and column count + model->setRowCount(rowCount); + model->setColumnCount(columnCount); + + // with or without data model + manager->setModel(useModel ? model : 0); + QCOMPARE(manager->model(), (useModel ? model : 0)); + + // check initial current item and selection + QCOMPARE(manager->currentRow(), initialCurrentRow); + QCOMPARE(manager->currentColumn(), initialCurrentColumn); + //QCOMPARE(manager->selectionRanges().count(), selectionRangesCount); + + // set current cell + manager->setCurrentCell(newCurrentRow, newCurrentColumn); + QCOMPARE(manager->currentRow(), expectedCurrentRow); + QCOMPARE(manager->currentColumn(), expectedCurrentColumn); + //QCOMPARE(manager->selectionRanges().count(), selectionRangesCount); + + // insert rows + for (int i = insertRowsAt; i < insertRowCount; ++i) + model->insertRow(i); + + // insert columns + for (int j = insertColumnsAt; j < insertColumnCount; ++j) + model->insertColumn(j); + + // remove rows + for (int k = removeRowsAt; k < removeRowCount; ++k) + model->removeRow(k); + + // remove columns + for (int l = removeColumnsAt; l < removeColumnCount; ++l) + model->removeColumn(l); + + // move rows + for (int m = 0; m < moveRowCount; ++m) + model->moveRow(moveRowsFrom, moveRowsTo + m); + + // move columns + for (int n = 0; n < moveColumnCount; ++n) + model->moveColumn(moveColumnsFrom, moveColumnsTo + n); + + // check again + QCOMPARE(manager->currentRow(), changedCurrentRow); + QCOMPARE(manager->currentColumn(), changedCurrentColumn); + + // check signals + QCOMPARE(currentChanged.count(), signalCount); } /* @@ -121,10 +243,132 @@ void tst_QtTableSelectionManager::currentCell() */ void tst_QtTableSelectionManager::anchorCell_data() { + QTest::addColumn<bool>("useModel"); + QTest::addColumn<int>("rowCount"); + QTest::addColumn<int>("columnCount"); + QTest::addColumn<int>("initialAnchorRow"); + QTest::addColumn<int>("initialAnchorColumn"); + QTest::addColumn<int>("newAnchorRow"); + QTest::addColumn<int>("newAnchorColumn"); + QTest::addColumn<int>("expectedAnchorRow"); + QTest::addColumn<int>("expectedAnchorColumn"); + QTest::addColumn<int>("insertRowsAt"); + QTest::addColumn<int>("insertRowCount"); + QTest::addColumn<int>("insertColumnsAt"); + QTest::addColumn<int>("insertColumnCount"); + QTest::addColumn<int>("removeRowsAt"); + QTest::addColumn<int>("removeRowCount"); + QTest::addColumn<int>("removeColumnsAt"); + QTest::addColumn<int>("removeColumnCount"); + QTest::addColumn<int>("moveRowsFrom"); + QTest::addColumn<int>("moveRowsTo"); + QTest::addColumn<int>("moveRowCount"); + QTest::addColumn<int>("moveColumnsFrom"); + QTest::addColumn<int>("moveColumnsTo"); + QTest::addColumn<int>("moveColumnCount"); + QTest::addColumn<int>("changedAnchorRow"); + QTest::addColumn<int>("changedAnchorColumn"); + QTest::addColumn<int>("signalCount"); + + QTest::newRow("no model") + << false + << 0 << 0 // cell count + << -1 << -1 // anchor cell + << 0 << 0 // new anchor + << -1 << -1 // expected anchor + << 0 << 0 // insert rows + << 0 << 0 // insert columns + << 0 << 0 // remove rows + << 0 << 0 // remove columns + << 0 << 0 << 0 // move rows + << 0 << 0 << 0 // move columns + << -1 << -1 // changed anchor + << 0; // signals } void tst_QtTableSelectionManager::anchorCell() { + QFETCH(bool, useModel); + QFETCH(int, rowCount); + QFETCH(int, columnCount); + QFETCH(int, initialAnchorRow); + QFETCH(int, initialAnchorColumn); + QFETCH(int, newAnchorRow); + QFETCH(int, newAnchorColumn); + QFETCH(int, expectedAnchorRow); + QFETCH(int, expectedAnchorColumn); + QFETCH(int, insertRowsAt); + QFETCH(int, insertRowCount); + QFETCH(int, insertColumnsAt); + QFETCH(int, insertColumnCount); + QFETCH(int, removeRowsAt); + QFETCH(int, removeRowCount); + QFETCH(int, removeColumnsAt); + QFETCH(int, removeColumnCount); + QFETCH(int, moveRowsFrom); + QFETCH(int, moveRowsTo); + QFETCH(int, moveRowCount); + QFETCH(int, moveColumnsFrom); + QFETCH(int, moveColumnsTo); + QFETCH(int, moveColumnCount); + QFETCH(int, changedAnchorRow); + QFETCH(int, changedAnchorColumn); + QFETCH(int, signalCount); + + QSignalSpy anchorChanged(manager, SIGNAL(anchorChanged(int,int,int,int))); + + // start without model + manager->setModel(0); + + // setup the model row and column count + model->setRowCount(rowCount); + model->setColumnCount(columnCount); + + // with or without data model + manager->setModel(useModel ? model : 0); + QCOMPARE(manager->model(), (useModel ? model : 0)); + + // check initial anchor item and selection + QCOMPARE(manager->anchorRow(), initialAnchorRow); + QCOMPARE(manager->anchorColumn(), initialAnchorColumn); + //QCOMPARE(manager->selectionRanges().count(), selectionRangesCount); + + // set anchor cell + manager->setAnchorCell(newAnchorRow, newAnchorColumn); + QCOMPARE(manager->anchorRow(), expectedAnchorRow); + QCOMPARE(manager->anchorColumn(), expectedAnchorColumn); + //QCOMPARE(manager->selectionRanges().count(), selectionRangesCount); + + // insert rows + for (int i = insertRowsAt; i < insertRowCount; ++i) + model->insertRow(i); + + // insert columns + for (int j = insertColumnsAt; j < insertColumnCount; ++j) + model->insertColumn(j); + + // remove rows + for (int k = removeRowsAt; k < removeRowCount; ++k) + model->removeRow(k); + + // remove columns + for (int l = removeColumnsAt; l < removeColumnCount; ++l) + model->removeColumn(l); + + // move rows + for (int m = 0; m < moveRowCount; ++m) + model->moveRow(moveRowsFrom, moveRowsTo + m); + + // move columns + for (int n = 0; n < moveColumnCount; ++n) + model->moveColumn(moveColumnsFrom, moveColumnsTo + n); + + // check again + QCOMPARE(manager->anchorRow(), changedAnchorRow); + QCOMPARE(manager->anchorColumn(), changedAnchorColumn); + + // check signals + QCOMPARE(anchorChanged.count(), signalCount); } void tst_QtTableSelectionManager::selections_data() |