diff options
author | Jean-Luc Lamadon <jean-luc.lamadon@nokia.com> | 2009-10-21 11:26:23 +0300 |
---|---|---|
committer | Jean-Luc Lamadon <jean-luc.lamadon@nokia.com> | 2009-10-21 11:26:23 +0300 |
commit | 44bc349f6c5050cb69fbffc8d29f367e30329c42 (patch) | |
tree | 182866e67d889885490e45ed307ff9696ed838ba | |
parent | e6d3ae70c121990b8463f66b4c0e1335e196783e (diff) |
libcontextprovider, protocol change: removed manager and subscriber unit tests
8 files changed, 0 insertions, 712 deletions
diff --git a/libcontextprovider/unit-tests/manager/.gitignore b/libcontextprovider/unit-tests/manager/.gitignore deleted file mode 100644 index 9427d087..00000000 --- a/libcontextprovider/unit-tests/manager/.gitignore +++ /dev/null @@ -1,11 +0,0 @@ -logging.cpp -logging.h -loggingfeatures.h -manager.h -manager.cpp -subscriber.cpp -subscriber.h -managerunittest -queuedinvoker.cpp -queuedinvoker.h -sconnect.h diff --git a/libcontextprovider/unit-tests/manager/Makefile.am b/libcontextprovider/unit-tests/manager/Makefile.am deleted file mode 100644 index 3743bd1a..00000000 --- a/libcontextprovider/unit-tests/manager/Makefile.am +++ /dev/null @@ -1,22 +0,0 @@ -check_PROGRAMS = managerunittest - -# test's sources -managerunittest_SOURCES = managerunittest.cpp - -COVERAGE_FILES = manager.cpp - -# do the testing, coverage, etc. stuff -# tests.am is using +=, so we have to set a value here for these four always -AM_CXXFLAGS = $(QtCore_CFLAGS) $(QtDBus_CFLAGS) -AM_LDFLAGS = $(QtCore_LIBS) $(QtDBus_LIBS) -FROM_SOURCE = queuedinvoker.cpp queuedinvoker.h subscriber.h subscriber.cpp loggingfeatures.h manager.cpp manager.h # copy these files from the real source -FROM_SOURCE_DIR = $(srcdir)/../../src -LDADD = -include $(top_srcdir)/am/tests.am - -nodist_managerunittest_SOURCES = mocs.cpp -QT_TOMOC = $(filter %.h, $(managerunittest_SOURCES) $(FROM_SOURCE)) -include $(top_srcdir)/am/qt.am - -# when MOCing from .cpp file, you also has to help the dependency tracker -managerunittest.o: managerunittest.moc diff --git a/libcontextprovider/unit-tests/manager/managerunittest.cpp b/libcontextprovider/unit-tests/manager/managerunittest.cpp deleted file mode 100644 index 50c18654..00000000 --- a/libcontextprovider/unit-tests/manager/managerunittest.cpp +++ /dev/null @@ -1,244 +0,0 @@ -/* - * Copyright (C) 2008, 2009 Nokia Corporation. - * - * Contact: Marius Vollmer <marius.vollmer@nokia.com> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * version 2.1 as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA - * 02110-1301 USA - * - */ - -#include <QtTest/QtTest> -#include <QtCore> -#include <stdlib.h> -#include "manager.h" -#include "subscriber.h" - -using namespace ContextProvider; - -class ManagerUnitTest : public QObject -{ - Q_OBJECT - -private slots: - void init(); - void cleanup(); - void keys(); - void duplicateKeys(); - void values(); - void subscriptionCount(); - void subscriptionCountNonExistent(); - void getSubscriber(); - void getKeys(); - void busNameIsGone(); - void subscribeAndUnsubscribe(); - void setKeyValue(); - void getKeyValue(); - void getKeyValueInvalid(); - void setKeyValueSame(); - void setKeyValueNonExistent(); - -private: - Manager *manager; -}; - -// Before each test -void ManagerUnitTest::init() -{ - manager = new Manager(); - manager->addKey("Battery.Power"); - manager->addKey("Battery.Voltage"); - manager->addKey("Battery.AboutToExplode"); -} - -// After each test -void ManagerUnitTest::cleanup() -{ - delete manager; -} - -void ManagerUnitTest::keys() -{ - QVERIFY(manager->keyIsValid("Battery.Power")); - QVERIFY(manager->keyIsValid("Battery.Voltage")); - QVERIFY(manager->keyIsValid("Battery.AboutToExplode")); - QVERIFY(manager->keyIsValid("Battery.Something") == false); -} - -void ManagerUnitTest::getKeys() -{ - QStringList keys = manager->getKeys(); - QCOMPARE(keys.length(), 3); - QVERIFY(keys.contains("Battery.Power")); - QVERIFY(keys.contains("Battery.Voltage")); - QVERIFY(keys.contains("Battery.AboutToExplode")); -} - -void ManagerUnitTest::duplicateKeys() -{ - Manager *m = new Manager(); - m->addKey("Battery.Voltage"); - m->addKey("Battery.Voltage"); - m->addKey("Battery.Power"); - - QVERIFY(m->keyIsValid("Battery.Power")); - QVERIFY(m->keyIsValid("Battery.Voltage")); - - delete m; -} - -void ManagerUnitTest::values() -{ - QVERIFY(manager->getKeyValue("Battery.Power").isValid() == FALSE); - QVERIFY(manager->getKeyValue("Battery.Voltage").isValid() == FALSE); - QVERIFY(manager->getKeyValue("Battery.AboutToExplode").isValid() == FALSE); - QVERIFY(manager->getKeyValue("Battery.Something").isValid() == FALSE); -} - -void ManagerUnitTest::subscriptionCount() -{ - QCOMPARE(manager->getSubscriptionCount("Battery.Power"), 0); - QCOMPARE(manager->getSubscriptionCount("Battery.Voltage"), 0); - QCOMPARE(manager->getSubscriptionCount("Battery.AboutToExplode"), 0); - - QSignalSpy spy1(manager, SIGNAL(firstSubscriberAppeared(QString))); - QSignalSpy spy2(manager, SIGNAL(lastSubscriberDisappeared(QString))); - - manager->increaseSubscriptionCount("Battery.Voltage"); - QCOMPARE(manager->getSubscriptionCount("Battery.Voltage"), 1); - QCOMPARE(spy1.count(), 1); - QList<QVariant> args1 = spy1.takeFirst(); - QCOMPARE(args1.at(0).toString(), QString("Battery.Voltage")); - - manager->increaseSubscriptionCount("Battery.Voltage"); - QCOMPARE(manager->getSubscriptionCount("Battery.Voltage"), 2); - QCOMPARE(spy1.count(), 0); - - manager->decreaseSubscriptionCount("Battery.Voltage"); - QCOMPARE(manager->getSubscriptionCount("Battery.Voltage"), 1); - QCOMPARE(spy2.count(), 0); - - manager->decreaseSubscriptionCount("Battery.Voltage"); - QCOMPARE(manager->getSubscriptionCount("Battery.Voltage"), 0); - QCOMPARE(spy2.count(), 1); - QList<QVariant> args2 = spy2.takeFirst(); - QCOMPARE(args2.at(0).toString(), QString("Battery.Voltage")); - - // Check if following decrease does not trigger a fire - manager->decreaseSubscriptionCount("Battery.Voltage"); - QCOMPARE(manager->getSubscriptionCount("Battery.Voltage"), 0); - QCOMPARE(spy2.count(), 0); -} - -void ManagerUnitTest::subscriptionCountNonExistent() -{ - QCOMPARE(manager->getSubscriptionCount("Battery.Power"), 0); - QCOMPARE(manager->getSubscriptionCount("Battery.Voltage"), 0); - QCOMPARE(manager->getSubscriptionCount("Battery.NonExistent"), -1); - - QSignalSpy spy1(manager, SIGNAL(firstSubscriberAppeared(QString))); - QSignalSpy spy2(manager, SIGNAL(lastSubscriberDisappeared(QString))); - - manager->increaseSubscriptionCount("Battery.NonExistent"); - QCOMPARE(manager->getSubscriptionCount("Battery.NonExistent"), -1); - QCOMPARE(spy1.count(), 0); - - manager->decreaseSubscriptionCount("Battery.NonExistent"); - QCOMPARE(manager->getSubscriptionCount("Battery.NonExistent"), -1); - QCOMPARE(spy2.count(), 0); -} - -void ManagerUnitTest::getSubscriber() -{ - Subscriber *s1 = manager->getSubscriber("some:name"); - QVERIFY(s1 != NULL); - - Subscriber *s2 = manager->getSubscriber("some:name"); - QVERIFY(s2 != NULL); - QVERIFY(s1 == s2); - QCOMPARE(manager->hasSubscriberWithBusName("some:name"), true); -} - -void ManagerUnitTest::busNameIsGone() -{ - Subscriber *s1 = manager->getSubscriber("some:name"); - QVERIFY(s1 != NULL); - - QCOMPARE(manager->hasSubscriberWithBusName("some:name"), true); - manager->busNameIsGone("some:name"); - QCOMPARE(manager->hasSubscriberWithBusName("some:name"), false); -} - -void ManagerUnitTest::subscribeAndUnsubscribe() -{ - Subscriber *s = manager->getSubscriber("some:name"); - QVERIFY(s != NULL); - - QStringList keys; - QStringList undetermined; - keys.append("Battery.Voltage"); - - QMap <QString, QVariant> values = s->subscribe(keys, undetermined); - QCOMPARE(values.size() + undetermined.size(), keys.size()); - - QCOMPARE(manager->getSubscriptionCount("Battery.Voltage"), 1); - - s->unsubscribe(keys); - - QCOMPARE(manager->getSubscriptionCount("Battery.Voltage"), 0); - QCOMPARE(manager->hasSubscriberWithBusName("some:name"), true); -} - -void ManagerUnitTest::setKeyValue() -{ - QSignalSpy spy(manager, SIGNAL(keyValueChanged(const QString&, const QVariant&))); - manager->setKeyValue("Battery.Power", QVariant(100)); - QCOMPARE(spy.count(), 1); - QList<QVariant> args = spy.takeFirst(); - QCOMPARE(args.at(0).toString(), QString("Battery.Power")); - // FIXME FIXME FIXME - //QCOMPARE(args.at(1).toInt(), 100); -} - -void ManagerUnitTest::getKeyValue() -{ - QCOMPARE(manager->getKeyValue("Battery.Power"), QVariant()); - manager->setKeyValue("Battery.Power", QVariant(86)); - QCOMPARE(manager->getKeyValue("Battery.Power"), QVariant(86)); -} - -void ManagerUnitTest::getKeyValueInvalid() -{ - QCOMPARE(manager->getKeyValue("Battery.Something"), QVariant()); - manager->setKeyValue("Battery.Something", QVariant(86)); - QCOMPARE(manager->getKeyValue("Battery.Something"), QVariant()); -} - -void ManagerUnitTest::setKeyValueSame() -{ - QSignalSpy spy(manager, SIGNAL(keyValueChanged(const QString&, const QVariant&))); - manager->setKeyValue("Battery.Power", QVariant(100)); - manager->setKeyValue("Battery.Power", QVariant(100)); - QCOMPARE(spy.count(), 1); -} - -void ManagerUnitTest::setKeyValueNonExistent() -{ - QSignalSpy spy(manager, SIGNAL(keyValueChanged(const QString&, const QVariant&))); - manager->setKeyValue("Battery.NonExistent", QVariant(100)); - QCOMPARE(spy.count(), 0); -} - -#include "managerunittest.moc" -QTEST_MAIN(ManagerUnitTest); diff --git a/libcontextprovider/unit-tests/subscriber/.gitignore b/libcontextprovider/unit-tests/subscriber/.gitignore deleted file mode 100644 index 8e68c3c2..00000000 --- a/libcontextprovider/unit-tests/subscriber/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -logging.cpp -logging.h -loggingfeatures.h -subscriber.cpp -subscriber.h -subscriberunittest -sconnect.h diff --git a/libcontextprovider/unit-tests/subscriber/Makefile.am b/libcontextprovider/unit-tests/subscriber/Makefile.am deleted file mode 100644 index 30d7cf9c..00000000 --- a/libcontextprovider/unit-tests/subscriber/Makefile.am +++ /dev/null @@ -1,22 +0,0 @@ -check_PROGRAMS = subscriberunittest - -# test's sources -subscriberunittest_SOURCES = subscriberunittest.cpp manager.h queuedinvoker.h - -COVERAGE_FILES = subscriber.cpp - -# do the testing, coverage, etc. stuff -# tests.am is using +=, so we have to set a value here for these four always -AM_CXXFLAGS = $(QtCore_CFLAGS) $(QtDBus_CFLAGS) -AM_LDFLAGS = $(QtCore_LIBS) $(QtDBus_LIBS) -FROM_SOURCE = subscriber.h subscriber.cpp loggingfeatures.h # copy these files from the real source -FROM_SOURCE_DIR = $(srcdir)/../../src -LDADD = -include $(top_srcdir)/am/tests.am - -nodist_subscriberunittest_SOURCES = mocs.cpp -QT_TOMOC = $(filter %.h, $(subscriberunittest_SOURCES) $(FROM_SOURCE)) -include $(top_srcdir)/am/qt.am - -# when MOCing from .cpp file, you also has to help the dependency tracker -subscriberunittest.o: subscriberunittest.moc diff --git a/libcontextprovider/unit-tests/subscriber/manager.h b/libcontextprovider/unit-tests/subscriber/manager.h deleted file mode 100644 index 6479e491..00000000 --- a/libcontextprovider/unit-tests/subscriber/manager.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (C) 2008, 2009 Nokia Corporation. - * - * Contact: Marius Vollmer <marius.vollmer@nokia.com> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * version 2.1 as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA - * 02110-1301 USA - * - */ - -#ifndef MANAGER_H -#define MANAGER_H - -#include <QDBusObjectPath> -#include <QDBusMessage> -#include <QHash> -#include <QObject> -#include <QDBusConnection> -#include <QStringList> - -namespace ContextProvider { - -class Subscriber; - -class Manager : public QObject -{ - Q_OBJECT - -public: - bool keyIsValid(const QString &key) const; - void increaseSubscriptionCount(const QString &key); - void decreaseSubscriptionCount(const QString &key); - QVariant getKeyValue(const QString &key) const; - void setKeyValue(const QString &key, const QVariant &v); - - QStringList increaseCalls; - QStringList decreaseCalls; - - void emitKeyValueChanged(const QString &key, const QVariant& newValue); - -signals: - void keyValueChanged(const QString &key, const QVariant& newValue); -}; - -} // namespace ContextProvider - -#endif diff --git a/libcontextprovider/unit-tests/subscriber/queuedinvoker.h b/libcontextprovider/unit-tests/subscriber/queuedinvoker.h deleted file mode 100644 index 4a2d3508..00000000 --- a/libcontextprovider/unit-tests/subscriber/queuedinvoker.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (C) 2008, 2009 Nokia Corporation. - * - * Contact: Marius Vollmer <marius.vollmer@nokia.com> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * version 2.1 as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA - * 02110-1301 USA - * - */ - -#ifndef QUEUEDINVOKER_H -#define QUEUEDINVOKER_H - -// This is a mock implementation - -#include <QObject> -#include <QString> -#include <QStringList> - -namespace ContextProvider { - -class QueuedInvoker : public QObject -{ - Q_OBJECT - -public: - QueuedInvoker(); - void callAllMethodsInQueue(); - -protected: - void queueOnce(const char *method); - -private: - QStringList methodsToCall; -}; - -} // namespace ContextProvider - -#endif diff --git a/libcontextprovider/unit-tests/subscriber/subscriberunittest.cpp b/libcontextprovider/unit-tests/subscriber/subscriberunittest.cpp deleted file mode 100644 index cc92ec97..00000000 --- a/libcontextprovider/unit-tests/subscriber/subscriberunittest.cpp +++ /dev/null @@ -1,298 +0,0 @@ -/* - * Copyright (C) 2008, 2009 Nokia Corporation. - * - * Contact: Marius Vollmer <marius.vollmer@nokia.com> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * version 2.1 as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA - * 02110-1301 USA - * - */ - -#include <QtTest/QtTest> -#include <QtCore> -#include <stdlib.h> -#include "manager.h" -#include "subscriber.h" -#include "queuedinvoker.h" -#include "logging.h" - -/* Queued invoker mock implementation */ - -namespace ContextProvider { - -QueuedInvoker::QueuedInvoker() -{ -} - -void QueuedInvoker::queueOnce(const char *method) -{ - contextDebug() << "queueonce" << QString(method); - if (!methodsToCall.contains(QString(method))) { - methodsToCall.push_back(method); - } -} - -void QueuedInvoker::callAllMethodsInQueue() -{ - while (!methodsToCall.empty()) { - QString method = methodsToCall.front(); - methodsToCall.pop_front(); - if (!QMetaObject::invokeMethod(this, method.toStdString().c_str(), Qt::DirectConnection)) { - qFatal(" *****************\n" - "Erroneous usage of queueOnce\n" - " *****************\n"); - } - } -} - -/* Manager mock implementation */ - -bool Manager::keyIsValid(const QString &key) const -{ - if (key == "Battery.OnBattery" || key == "Battery.Voltage" || key == "Battery.OverCharged") - return true; - else - return false; -} - -void Manager::increaseSubscriptionCount(const QString &key) -{ - increaseCalls.append(key); -} - -void Manager::decreaseSubscriptionCount(const QString &key) -{ - decreaseCalls.append(key); -} - -QVariant Manager::getKeyValue(const QString &key) const -{ - if (key == "Battery.OverCharged") - return QVariant(true); - else - return QVariant(); -} - -void Manager::emitKeyValueChanged(const QString &key, const QVariant& newValue) -{ - emit keyValueChanged(key, newValue); -} - -} // namespace ContextProvider - -/* SubscriberUnitTest */ - -using namespace ContextProvider; - -class SubscriberUnitTest : public QObject -{ - Q_OBJECT - -private slots: - void init(); - void cleanup(); - void path(); - void subscribeAndUnsubscribe(); - void subscribeToInvalid(); - void subscribeTwice(); - void unsubscribeFromInvalid(); - void unsubscribeTwice(); - void keyValueChangeUnsubscribed(); - void keyValueChangeSubscribed(); - -private: - Subscriber *subscriber; - Manager *manager; -}; - -// Before each test -void SubscriberUnitTest::init() -{ - manager = new Manager(); - subscriber = new Subscriber("/some/path", manager); -} - -// After each test -void SubscriberUnitTest::cleanup() -{ - delete subscriber; - delete manager; -} - -void SubscriberUnitTest::path() -{ - QCOMPARE(subscriber->dbusPath(), QString("/some/path")); -} - -void SubscriberUnitTest::subscribeAndUnsubscribe() -{ - QStringList keys1; - keys1.append("Battery.OnBattery"); - keys1.append("Battery.Voltage"); - QStringList undetermined; - - QMap<QString, QVariant> map = subscriber->subscribe(keys1, undetermined); - QCOMPARE(undetermined.size(), 2); - QVERIFY(subscriber->isSubscribedToKey("Battery.OnBattery")); - QVERIFY(subscriber->isSubscribedToKey("Battery.Voltage")); - - QCOMPARE(manager->increaseCalls.count("Battery.OnBattery"), 1); - QCOMPARE(manager->increaseCalls.count("Battery.Voltage"), 1); - QCOMPARE(manager->decreaseCalls.count("Battery.OnBattery"), 0); - QCOMPARE(manager->decreaseCalls.count("Battery.Voltage"), 0); - - QStringList keys2; - keys2.append("Battery.Voltage"); - subscriber->unsubscribe(keys2); - QVERIFY(subscriber->isSubscribedToKey("Battery.OnBattery")); - QVERIFY(subscriber->isSubscribedToKey("Battery.Voltage") == false); - - QCOMPARE(manager->decreaseCalls.count("Battery.OnBattery"), 0); - QCOMPARE(manager->decreaseCalls.count("Battery.Voltage"), 1); - QCOMPARE(manager->increaseCalls.count("Battery.OnBattery"), 1); - QCOMPARE(manager->increaseCalls.count("Battery.Voltage"), 1); -} - -void SubscriberUnitTest::subscribeToInvalid() -{ - QStringList keys1; - keys1.append("Battery.OnBattery"); - keys1.append("Battery.Voltage"); - keys1.append("Battery.NonExistant"); - QStringList undetermined; - - QMap<QString, QVariant> map = subscriber->subscribe(keys1, undetermined); - QCOMPARE(undetermined.size(), 2); - QVERIFY(subscriber->isSubscribedToKey("Battery.OnBattery")); - QVERIFY(subscriber->isSubscribedToKey("Battery.Voltage")); - QVERIFY(subscriber->isSubscribedToKey("Battery.NonExistant") == false); - - QCOMPARE(manager->increaseCalls.count("Battery.OnBattery"), 1); - QCOMPARE(manager->increaseCalls.count("Battery.Voltage"), 1); - QCOMPARE(manager->increaseCalls.count("Battery.NonExistant"), 0); - QCOMPARE(manager->decreaseCalls.count("Battery.OnBattery"), 0); - QCOMPARE(manager->decreaseCalls.count("Battery.Voltage"), 0); - QCOMPARE(manager->decreaseCalls.count("Battery.NonExistant"), 0); -} - -void SubscriberUnitTest::subscribeTwice() -{ - QStringList keys1; - keys1.append("Battery.OnBattery"); - keys1.append("Battery.OnBattery"); - QStringList undetermined; - - QMap<QString, QVariant> map1 = subscriber->subscribe(keys1, undetermined); - QCOMPARE(undetermined.size(), 1); - QVERIFY(subscriber->isSubscribedToKey("Battery.OnBattery")); - - QCOMPARE(manager->increaseCalls.count("Battery.OnBattery"), 1); - QCOMPARE(manager->decreaseCalls.count("Battery.OnBattery"), 0); - - // Try again... - QStringList keys2; - keys2.append("Battery.OnBattery"); - - QMap<QString, QVariant> map2 = subscriber->subscribe(keys2, undetermined); - QCOMPARE(undetermined.size(), 1); - QVERIFY(subscriber->isSubscribedToKey("Battery.OnBattery")); - - QCOMPARE(manager->increaseCalls.count("Battery.OnBattery"), 1); - QCOMPARE(manager->decreaseCalls.count("Battery.OnBattery"), 0); -} - -void SubscriberUnitTest::unsubscribeFromInvalid() -{ - QStringList keys1; - keys1.append("Battery.OnBattery"); - QStringList undetermined; - - subscriber->subscribe(keys1, undetermined); - QVERIFY(subscriber->isSubscribedToKey("Battery.OnBattery")); - - QCOMPARE(manager->increaseCalls.count("Battery.OnBattery"), 1); - QCOMPARE(manager->decreaseCalls.count("Battery.OnBattery"), 0); - - QStringList keys2; - keys2.append("Battery.Invalid"); - subscriber->unsubscribe(keys2); - QVERIFY(subscriber->isSubscribedToKey("Battery.OnBattery") == true); - QVERIFY(subscriber->isSubscribedToKey("Battery.Invalid") == false); - - QCOMPARE(manager->increaseCalls.count("Battery.OnBattery"), 1); - QCOMPARE(manager->decreaseCalls.count("Battery.OnBattery"), 0); - QCOMPARE(manager->increaseCalls.count("Battery.Invalid"), 0); - QCOMPARE(manager->decreaseCalls.count("Battery.Invalid"), 0); -} - -void SubscriberUnitTest::unsubscribeTwice() -{ - QStringList keys1; - keys1.append("Battery.OnBattery"); - QStringList undetermined; - - subscriber->subscribe(keys1, undetermined); - QVERIFY(subscriber->isSubscribedToKey("Battery.OnBattery")); - - QCOMPARE(manager->increaseCalls.count("Battery.OnBattery"), 1); - QCOMPARE(manager->decreaseCalls.count("Battery.OnBattery"), 0); - - subscriber->unsubscribe(keys1); - QVERIFY(subscriber->isSubscribedToKey("Battery.OnBattery") == false); - - QCOMPARE(manager->increaseCalls.count("Battery.OnBattery"), 1); - QCOMPARE(manager->decreaseCalls.count("Battery.OnBattery"), 1); - - subscriber->unsubscribe(keys1); - QVERIFY(subscriber->isSubscribedToKey("Battery.OnBattery") == false); - - QCOMPARE(manager->increaseCalls.count("Battery.OnBattery"), 1); - QCOMPARE(manager->decreaseCalls.count("Battery.OnBattery"), 1); -} - -void SubscriberUnitTest::keyValueChangeUnsubscribed() -{ - QSignalSpy spy(subscriber, SIGNAL(changed(QMap<QString, QVariant>, QStringList))); - manager->emitKeyValueChanged("Battery.Something", QVariant(55)); - subscriber->callAllMethodsInQueue(); - QCOMPARE(spy.count(), 0); -} - -void SubscriberUnitTest::keyValueChangeSubscribed() -{ - QStringList keys; - keys.append("Battery.OnBattery"); - keys.append("Battery.OverCharged"); - keys.append("Battery.Voltage"); - QStringList undetermined; - subscriber->subscribe(keys, undetermined); - - QSignalSpy spy(subscriber, SIGNAL(changed(QMap<QString, QVariant>, QStringList))); - manager->emitKeyValueChanged("Battery.OverCharged", QVariant(true)); - manager->emitKeyValueChanged("Battery.OnBattery", QVariant()); - subscriber->callAllMethodsInQueue(); - QCOMPARE(spy.count(), 1); - - QList<QVariant> args = spy.takeFirst(); - - QMap<QString, QVariant> map = args.at(0).toMap(); - QCOMPARE(map.size(), 1); - QCOMPARE(map.value("Battery.OverCharged"), QVariant(true)); - - QCOMPARE(args.at(1).toList().count(), 1); - QCOMPARE(args.at(1).toList().at(0).toString(), QString("Battery.OnBattery")); -} - -#include "subscriberunittest.moc" -QTEST_MAIN(SubscriberUnitTest); |