--- /dev/null
+#include "qnetworkaccessmanager.h"
--- /dev/null
+#include "qnetworkreply.h"
--- /dev/null
+#include <qsettings.h>
--- /dev/null
+#include "qnetworkreply.h"
+#include "qnetworkaccessmanager.h"
+
+#include <QNetworkRequest>
+#include <QStringList>
+
+QStringList QNetworkAccessManager::urls;
+
+QNetworkAccessManager::QNetworkAccessManager(QObject *parent)
+ : QObject(parent)
+{
+}
+
+QNetworkReply *QNetworkAccessManager::get(const QNetworkRequest &request)
+{
+ urls.append(request.url().toString());
+ QNetworkReply *reply = new QNetworkReply();
+ emit finished(reply);
+ return reply;
+}
+
--- /dev/null
+#ifndef QNETWORKACCESSMANAGER_H
+#define QNETWORKACCESSMANAGER_H
+
+#include <QObject>
+#include <QNetworkRequest>
+#include <QStringList>
+
+class QNetworkReply;
+
+class QNetworkAccessManager : public QObject
+{
+ Q_OBJECT
+public:
+ QNetworkAccessManager(QObject *parent = 0);
+ QNetworkReply *get(const QNetworkRequest&);
+ static QStringList urls;
+
+signals:
+ void finished(QNetworkReply*);
+};
+
+#endif //QNETWORKACCESSMANAGER_H
--- /dev/null
+#include <QDebug>
+#include "qnetworkreply.h"
+
+QNetworkReply::QNetworkReply()
+{
+}
+
+QNetworkReply::~QNetworkReply()
+{
+}
+
+QByteArray QNetworkReply::readAll()
+{
+ return QByteArray();
+}
+
+int QNetworkReply::error() const
+{
+ return 0;
+}
+
+void QNetworkReply::close()
+{
+}
+
+void QNetworkReply::deleteLater()
+{
+}
+
+QByteArray QNetworkReply::readLine(qint64 maxlen)
+{
+ return QByteArray();
+}
+
--- /dev/null
+#ifndef QNETWORKREPLY_H
+#define QNETWORKREPLY_H
+
+#include <QByteArray>
+
+class QNetworkReply
+{
+public:
+ enum NetworkError {
+ NoError = 0
+ };
+
+ QNetworkReply();
+ ~QNetworkReply();
+ QByteArray readAll();
+ int error() const;
+ void close();
+ void deleteLater();
+ QByteArray readLine(qint64 maxlen = 0);
+
+};
+
+#endif // QNETWORKREPLY_H
+
--- /dev/null
+#include "qsettings.h"
+
+QMap<QString, QVariant> QSettings::values;
+
+void QSettings::setValue(const QString& key, const QVariant& value)
+{
+ values.insert(key, value);
+}
+
+QVariant QSettings::value(const QString &key, const QVariant &defaultValue)
+{
+ return values.value(key, defaultValue);
+}
+
--- /dev/null
+#ifndef QSETTINGS_H
+#define QSETTINGS_H
+
+#include <QMap>
+#include <QString>
+#include <QVariant>
+
+class QSettings
+{
+public:
+ QSettings(QObject* parent = 0) {}
+ void setValue(const QString& key, const QVariant& value);
+ QVariant value(const QString &key, const QVariant &defaultValue);
+ static QMap<QString, QVariant> values;
+};
+
+#endif
+
TEMPLATE = app
TARGET = test
-WARNINGS += -Wall
-
-# CONFIG += debug
-# QMAKE_CXXFLAGS_DEBUG += -fprofile-arcs
-# QMAKE_CXXFLAGS_DEBUG += -ftest-coverage
-# QMAKE_LFLAGS_DEBUG += -fprofile-arcs
-# QMAKE_LFLAGS_DEBUG += -ftest-coverage
-
-QT += testlib
-
SRCDIR = ../../src
STUBDIR = ../stubs
-DEPENDPATH +=
-
+INCLUDEPATH += $$STUBDIR
INCLUDEPATH += $$SRCDIR
-INCLUDEPATH += .
-VPATH = $$SRCDIR
VPATH += $$STUBDIR
+VPATH += $$SRCDIR
+
+WARNINGS += -Wall
+
+QT += testlib
+
+DEPENDPATH +=
UI_DIR = uics
MOC_DIR = mocs
--- /dev/null
+#include <QSettings>
+#include "ut_remote.h"
+
+#include <fstream>
+
+#include <QtTest>
+#include <QDebug>
+
+#include "qnetworkaccessmanager.h"
+
+#define private public
+#include "remote.h"
+#undef private
+
+void reset()
+{
+ QNetworkAccessManager::urls.clear();
+ QSettings::values.clear();
+}
+
+void Ut_Remote::initTestCase()
+{
+ subject = NULL;
+}
+
+void Ut_Remote::cleanupTestCase()
+{
+}
+
+void Ut_Remote::init()
+{
+ subject = new Remote();
+ reset();
+}
+
+void Ut_Remote::cleanup()
+{
+ if (subject != NULL) {
+ delete subject;
+ subject = NULL;
+ }
+ reset();
+}
+
+void Ut_Remote::testSaveToFile_normal()
+{
+ subject->m_name = "testname";
+ subject->saveToFile();
+ QCOMPARE(QNetworkAccessManager::urls.count(), 1);
+ QCOMPARE(QNetworkAccessManager::urls[0],
+ QString("http://mercury.wipsl.com/irwi/uploaded/testname"));
+ QSettings settings;
+ QCOMPARE(settings.value("remoteName", "fail").toString(),
+ QString("testname"));
+}
+
+void Ut_Remote::testSaveToFile_emptyname()
+{
+ subject->m_name = "";
+ subject->saveToFile();
+ QCOMPARE(QNetworkAccessManager::urls.count(), 0);
+ QSettings settings;
+ QCOMPARE(settings.value("remoteName", "testname").toString(),
+ QString("testname"));
+}
+
+void Ut_Remote::testUpdateInfo()
+{
+}
+
+void Ut_Remote::testSendRating()
+{
+}
+
+QTEST_MAIN(Ut_Remote)
+
+
--- /dev/null
+#ifndef UT_REMOTE_H
+#define UT_REMOTE_H
+
+#include <QObject>
+
+class Remote;
+
+class Ut_Remote : public QObject
+{
+ Q_OBJECT
+
+private slots:
+ void initTestCase();
+ void cleanupTestCase();
+ void init();
+ void cleanup();
+
+ void testSaveToFile_normal();
+ void testSaveToFile_emptyname();
+ void testUpdateInfo();
+ void testSendRating();
+
+private:
+ Remote *subject;
+};
+
+#endif // UT_REMOTE_H
+
+
--- /dev/null
+HEADERS += qnetworkreply.h
+HEADERS += qnetworkaccessmanager.h
+HEADERS += qsettings.h
+HEADERS += remote.h
+HEADERS += rating.h
+HEADERS += ut_remote.h
+
+SOURCES += qnetworkreply.cpp
+SOURCES += qnetworkaccessmanager.cpp
+SOURCES += qsettings.cpp
+SOURCES += ut_remote.cpp
+SOURCES += remote.cpp
+SOURCES += rating.cpp
+
+QT += network
+
+!include( ../ut.pri ) {
+ error( Could not find the ut.pri file )
+}
+