diff options
Diffstat (limited to 'tests/TestEntry.cpp')
-rw-r--r-- | tests/TestEntry.cpp | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/tests/TestEntry.cpp b/tests/TestEntry.cpp index 39e4bd12c..c6cb1271d 100644 --- a/tests/TestEntry.cpp +++ b/tests/TestEntry.cpp @@ -612,3 +612,114 @@ void TestEntry::testIsRecycled() db.recycleGroup(group1); QVERIFY(entry1->isRecycled()); } + +void TestEntry::testMove() +{ + Database db; + Group* root = db.rootGroup(); + QVERIFY(root); + + Entry* entry0 = new Entry(); + QVERIFY(entry0); + entry0->setGroup(root); + Entry* entry1 = new Entry(); + QVERIFY(entry1); + entry1->setGroup(root); + Entry* entry2 = new Entry(); + QVERIFY(entry2); + entry2->setGroup(root); + Entry* entry3 = new Entry(); + QVERIFY(entry3); + entry3->setGroup(root); + // default order, straight + QCOMPARE(root->entries().at(0), entry0); + QCOMPARE(root->entries().at(1), entry1); + QCOMPARE(root->entries().at(2), entry2); + QCOMPARE(root->entries().at(3), entry3); + + entry0->moveDown(); + QCOMPARE(root->entries().at(0), entry1); + QCOMPARE(root->entries().at(1), entry0); + QCOMPARE(root->entries().at(2), entry2); + QCOMPARE(root->entries().at(3), entry3); + + entry0->moveDown(); + QCOMPARE(root->entries().at(0), entry1); + QCOMPARE(root->entries().at(1), entry2); + QCOMPARE(root->entries().at(2), entry0); + QCOMPARE(root->entries().at(3), entry3); + + entry0->moveDown(); + QCOMPARE(root->entries().at(0), entry1); + QCOMPARE(root->entries().at(1), entry2); + QCOMPARE(root->entries().at(2), entry3); + QCOMPARE(root->entries().at(3), entry0); + + // no effect + entry0->moveDown(); + QCOMPARE(root->entries().at(0), entry1); + QCOMPARE(root->entries().at(1), entry2); + QCOMPARE(root->entries().at(2), entry3); + QCOMPARE(root->entries().at(3), entry0); + + entry0->moveUp(); + QCOMPARE(root->entries().at(0), entry1); + QCOMPARE(root->entries().at(1), entry2); + QCOMPARE(root->entries().at(2), entry0); + QCOMPARE(root->entries().at(3), entry3); + + entry0->moveUp(); + QCOMPARE(root->entries().at(0), entry1); + QCOMPARE(root->entries().at(1), entry0); + QCOMPARE(root->entries().at(2), entry2); + QCOMPARE(root->entries().at(3), entry3); + + entry0->moveUp(); + QCOMPARE(root->entries().at(0), entry0); + QCOMPARE(root->entries().at(1), entry1); + QCOMPARE(root->entries().at(2), entry2); + QCOMPARE(root->entries().at(3), entry3); + + // no effect + entry0->moveUp(); + QCOMPARE(root->entries().at(0), entry0); + QCOMPARE(root->entries().at(1), entry1); + QCOMPARE(root->entries().at(2), entry2); + QCOMPARE(root->entries().at(3), entry3); + + entry2->moveUp(); + QCOMPARE(root->entries().at(0), entry0); + QCOMPARE(root->entries().at(1), entry2); + QCOMPARE(root->entries().at(2), entry1); + QCOMPARE(root->entries().at(3), entry3); + + entry0->moveDown(); + QCOMPARE(root->entries().at(0), entry2); + QCOMPARE(root->entries().at(1), entry0); + QCOMPARE(root->entries().at(2), entry1); + QCOMPARE(root->entries().at(3), entry3); + + entry3->moveUp(); + QCOMPARE(root->entries().at(0), entry2); + QCOMPARE(root->entries().at(1), entry0); + QCOMPARE(root->entries().at(2), entry3); + QCOMPARE(root->entries().at(3), entry1); + + entry3->moveUp(); + QCOMPARE(root->entries().at(0), entry2); + QCOMPARE(root->entries().at(1), entry3); + QCOMPARE(root->entries().at(2), entry0); + QCOMPARE(root->entries().at(3), entry1); + + entry2->moveDown(); + QCOMPARE(root->entries().at(0), entry3); + QCOMPARE(root->entries().at(1), entry2); + QCOMPARE(root->entries().at(2), entry0); + QCOMPARE(root->entries().at(3), entry1); + + entry1->moveUp(); + QCOMPARE(root->entries().at(0), entry3); + QCOMPARE(root->entries().at(1), entry2); + QCOMPARE(root->entries().at(2), entry1); + QCOMPARE(root->entries().at(3), entry0); +} |