aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Luc Lamadon <jean-luc.lamadon@nokia.com>2009-10-21 11:26:23 +0300
committerJean-Luc Lamadon <jean-luc.lamadon@nokia.com>2009-10-21 11:26:23 +0300
commit44bc349f6c5050cb69fbffc8d29f367e30329c42 (patch)
tree182866e67d889885490e45ed307ff9696ed838ba
parente6d3ae70c121990b8463f66b4c0e1335e196783e (diff)
libcontextprovider, protocol change: removed manager and subscriber unit tests
-rw-r--r--libcontextprovider/unit-tests/manager/.gitignore11
-rw-r--r--libcontextprovider/unit-tests/manager/Makefile.am22
-rw-r--r--libcontextprovider/unit-tests/manager/managerunittest.cpp244
-rw-r--r--libcontextprovider/unit-tests/subscriber/.gitignore7
-rw-r--r--libcontextprovider/unit-tests/subscriber/Makefile.am22
-rw-r--r--libcontextprovider/unit-tests/subscriber/manager.h58
-rw-r--r--libcontextprovider/unit-tests/subscriber/queuedinvoker.h50
-rw-r--r--libcontextprovider/unit-tests/subscriber/subscriberunittest.cpp298
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);