Small refactoring and added test
[mdictionary] / trunk / tests / mDictionaryTests / tst_Backbone.cpp
index 01f6a77..cf998e2 100644 (file)
@@ -52,6 +52,7 @@ private Q_SLOTS:
     void stopSearchingTest();
     void searchTest();
     void translationTest();
+    void multiTranslationTest();
     void quitTest();
 };
 
@@ -69,17 +70,19 @@ void BackboneTest::init()
     for(int i = 0; i < total; i++) {
         dict[i] = new CommonDictInterfaceMock();
         CommonDictInterfaceMock * cd = (CommonDictInterfaceMock*) dict[i];
-        cd->tov = "to" + QString(i);
-        cd->fromv = "from" + QString(i);
-        cd->namev = "name" + QString(i);
-        cd->typev = "type" + QString(i);
+        cd->tov =   QString("to%1").arg(i);
+        cd->fromv = QString("from%1").arg(i);
+        cd->namev = QString("name%1").arg(i);
+        cd->typev = QString("type%1").arg(i);
     }
     back = new Backbone("vim");
+    addDicts();
 }
 
 void BackboneTest::addDicts() {
-    for(int i = 0; i < total; i++)
+    for(int i = 0; i < total; i++) {
         back->addDictionary(dict[i]);
+    }
 }
 
 
@@ -91,16 +94,15 @@ void BackboneTest::cleanup()
 
 
 
+
 void BackboneTest::addDictionaryTest()
 {
-    addDicts();
     QCOMPARE(back->getDictionaries().size(), total);
     for(int i = 0; i < total; i++)
         QCOMPARE(back->getDictionaries().keys().contains(dict[i]), QBool(true));
 }
 
 void BackboneTest::removeDictionaryTest() {
-    addDicts();
     for(int i = 0; i < total-1; i++)
         back->removeDictionary(dict[i]);
 
@@ -112,7 +114,6 @@ void BackboneTest::removeDictionaryTest() {
 
 
 void BackboneTest::selectedDictionaryTest() {
-    addDicts();
     QList<CommonDictInterface* > selected;
     back->selectedDictionaries(selected);
     foreach(bool d, back->getDictionaries().values())
@@ -188,7 +189,6 @@ void BackboneTest::translationTest() {
     QSignalSpy translatS(back, SIGNAL(ready()));
     QVERIFY2 (translatS.isValid() == true, "ready() signal is invalid");
 
-    addDicts();
 
     QTime time;
     time.start();
@@ -196,7 +196,7 @@ void BackboneTest::translationTest() {
     list << "nic";
     back->search(list);
     qDebug() << "Time for backbone.search: " << time.elapsed();
-    usleep(2000);
+    usleep(1000);
     time.start();
     back->translationReady();
     qDebug() << "Time for backbone->translation: " << time.elapsed();
@@ -205,6 +205,29 @@ void BackboneTest::translationTest() {
     QVERIFY2(back->result().size() == total*2, "Lost some of the translations");
 }
 
+void BackboneTest::multiTranslationTest() {
+    QSignalSpy translatS(back, SIGNAL(ready()));
+    QVERIFY2 (translatS.isValid() == true, "ready() signal is invalid");
+
+
+    QTime time;
+    QStringList list;
+
+    list << "a" << "b" << "c";
+    back->search(list);
+    qDebug() << "Time for backbone.search: " << time.elapsed();
+    usleep(1000);
+    time.start();
+    back->translationReady();
+    qDebug() << "Time for backbone->translation: " << time.elapsed();
+
+    QVERIFY2(translatS.count() == 1, "Lost finall 'ready()' signal");
+    QVERIFY2(back->result().size() == total*2*3,
+             "Lost some of the translations");
+}
+
+
+
 void BackboneTest::quitTest() {
     QSignalSpy translatS(back, SIGNAL(closeOk()));
     for(int i = 0; i < total; i++) {