Added tests for history
[mdictionary] / trunk / tests / mDictionaryTests / tst_Backbone.cpp
index 01f6a77..eac34cb 100644 (file)
@@ -26,6 +26,7 @@
 
 #include <QtCore/QString>
 #include <QtTest/QtTest>
+#include <QStringList>
 #include <QList>
 #include <QTime>
 #include "../../src/base/backbone/backbone.h"
@@ -52,6 +53,7 @@ private Q_SLOTS:
     void stopSearchingTest();
     void searchTest();
     void translationTest();
+    void historyTest();
     void quitTest();
 };
 
@@ -169,8 +171,7 @@ void BackboneTest::searchTest() {
     }
 
     qDebug() << "main " << this->thread()->currentThreadId();
-    QStringList list;
-    list << "pigwa";
+    QString list("pigwa");
 
     back->search(list);
     usleep(2000);
@@ -192,8 +193,7 @@ void BackboneTest::translationTest() {
 
     QTime time;
     time.start();
-    QStringList list;
-    list << "nic";
+    QString list("nic");
     back->search(list);
     qDebug() << "Time for backbone.search: " << time.elapsed();
     usleep(2000);
@@ -227,6 +227,58 @@ void BackboneTest::quitTest() {
     QVERIFY2(translatS.count() == 1, "Lost finall 'closeOk()' signal");
 }
 
+void BackboneTest::historyTest() {
+    History* history = back->history();
+
+    history->add("mleko");
+
+    QCOMPARE(history->nextAvailable(), FALSE);
+    QCOMPARE(history->prevAvailable(), FALSE);
+    QCOMPARE(history->listAvailable(), TRUE);
+
+
+    history->add("szklanka");
+    QCOMPARE(history->nextAvailable(), FALSE);
+    QCOMPARE(history->prevAvailable(), TRUE);
+
+    history->previous();
+    QCOMPARE(history->nextAvailable(), TRUE);
+    QCOMPARE(history->prevAvailable(), FALSE);
+
+    history->add("pic");
+    QStringList words = history->list();
+    QCOMPARE(words[0], QString("pic"));
+    QCOMPARE(words[1], QString("mleko"));
+
+    history->add("qqq");
+
+    history->previous();
+    history->add("pic");
+
+    words = history->list();
+    QCOMPARE(words[0], QString("qqq"));
+    QCOMPARE(words[1], QString("pic"));
+    QCOMPARE(words[2], QString("mleko"));
+
+    history->setCurrentElement(0);
+    QCOMPARE(history->nextAvailable(), FALSE);
+    QCOMPARE(history->prevAvailable(), TRUE);
+    QCOMPARE(history->listAvailable(), TRUE);
+
+    history->setCurrentElement(1);
+    QCOMPARE(history->nextAvailable(), TRUE);
+    QCOMPARE(history->prevAvailable(), TRUE);
+    QCOMPARE(history->listAvailable(), TRUE);
+
+    history->setMaxSize(1);
+    words = history->list();
+    QCOMPARE(words[0], QString("pic"));
+
+    QCOMPARE(history->nextAvailable(), FALSE);
+    QCOMPARE(history->prevAvailable(), FALSE);
+    QCOMPARE(history->listAvailable(), TRUE);
+}
+
 
 QTEST_APPLESS_MAIN(BackboneTest);