Added Backbone::removeDicitionary and tests for it
authorBartosz Szatkowski <bulislaw@linux.com>
Fri, 6 Aug 2010 07:48:51 +0000 (09:48 +0200)
committerBartosz Szatkowski <bulislaw@linux.com>
Fri, 6 Aug 2010 07:48:51 +0000 (09:48 +0200)
trunk/src/base/backbone/backbone.cpp
trunk/src/base/backbone/backbone.h
trunk/tests/mDictionaryTests/tst_Backbone.cpp

index 688f949..023c82f 100644 (file)
@@ -155,6 +155,11 @@ void Backbone::search(QString word) {
      _dicts[dict] = 1;
  }
 
+ void Backbone::removeDictionary(CommonDictInterface *dict) {
+     _dicts.remove(dict);
+
+ }
+
 
 
  void Backbone::quit() {
index 966c4fe..a2750cf 100644 (file)
@@ -87,7 +87,7 @@ public Q_SLOTS:
     //! Fired when dictionary call finalTranslation(..) with translation ready
     void translation();
 
-    // TODO void removeDictionary(CommonDictInterface* dict);
+    void removeDictionary(CommonDictInterface* dict);
     // TODO addToBookmark(Translation*);
     // TODO removeFromBookmark(Translation*);
 
index 047ebe1..9bfdae8 100644 (file)
@@ -37,6 +37,7 @@ class BackboneTest : public QObject
     QList<CommonDictInterface*> dict;
     int total;
     Backbone* back;
+    void addDicts();
 
 public:
     BackboneTest();
@@ -45,6 +46,7 @@ private Q_SLOTS:
     void init();
     void cleanup();
     void addDictionaryTest();
+    void removeDictionaryTest();
     void selectedDictionaryTest();
     void stopSearchingTest();
     void searchTest();
@@ -73,6 +75,11 @@ void BackboneTest::init()
     back = new Backbone();
 }
 
+void BackboneTest::addDicts() {
+    for(int i = 0; i < total; i++)
+        back->addDictionary(dict[i]);
+}
+
 
 
 void BackboneTest::cleanup()
@@ -84,19 +91,26 @@ void BackboneTest::cleanup()
 
 void BackboneTest::addDictionaryTest()
 {
-    for(int i = 0; i < total; i++)
-        back->addDictionary(dict[i]);
+    addDicts();
     QCOMPARE(back->getDictionaries().size(), total);
     for(int i = 0; i < total; i++)
         QCOMPARE(back->getDictionaries().keys().contains(dict[i]), QBool(true));
-    //TODO check if signals are connected
+}
+
+void BackboneTest::removeDictionaryTest() {
+    addDicts();
+    for(int i = 0; i < total-1; i++)
+        back->removeDictionary(dict[i]);
+
+    QVERIFY2(back->getDictionaries().contains(dict[total-1]) == 1,
+             "Deletet wrong dictionaries");
+
 }
 
 
 
 void BackboneTest::selectedDictionaryTest() {
-    for(int i = 0; i < total; i++)
-        back->addDictionary(dict[i]);
+    addDicts();
     QList<CommonDictInterface* > selected;
     back->selectedDictionaries(selected);
     foreach(bool d, back->getDictionaries().values())
@@ -166,15 +180,10 @@ void BackboneTest::searchTest() {
 
 
 void BackboneTest::translationTest() {
-    QList<QSignalSpy*> ss;
     QSignalSpy translatS(back, SIGNAL(ready()));
     QVERIFY2 (translatS.isValid() == true, "ready() signal is invalid");
 
-    for(int i = 0; i < total; i++) {
-        CommonDictInterfaceMock *m = (CommonDictInterfaceMock*) dict[i];
-        m->stopped = 1;
-        back->addDictionary(dict[i]);
-    }
+    addDicts();
 
     back->search("nic");
     usleep(2000);