summaryrefslogtreecommitdiff
path: root/tests/auto/utils
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/utils')
-rw-r--r--tests/auto/utils/qlocationtestutils.cpp114
-rw-r--r--tests/auto/utils/qlocationtestutils_p.h175
-rw-r--r--tests/auto/utils/qnmeaproxyfactory.cpp130
-rw-r--r--tests/auto/utils/qnmeaproxyfactory.h96
4 files changed, 0 insertions, 515 deletions
diff --git a/tests/auto/utils/qlocationtestutils.cpp b/tests/auto/utils/qlocationtestutils.cpp
deleted file mode 100644
index c587a8bc..00000000
--- a/tests/auto/utils/qlocationtestutils.cpp
+++ /dev/null
@@ -1,114 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qlocationtestutils_p.h"
-
-bool QLocationTestUtils::hasDefaultSource()
-{
- return false;
-}
-
-bool QLocationTestUtils::hasDefaultMonitor()
-{
- return false;
-}
-
-QString QLocationTestUtils::addNmeaChecksumAndBreaks(const QString &sentence)
-{
- Q_ASSERT(sentence[0] == '$' && sentence[sentence.length()-1] == '*');
-
- // XOR byte value of all characters between '$' and '*'
- int result = 0;
- for (int i=1; i<sentence.length()-1; i++)
- result ^= sentence[i].toLatin1();
- const QString sum = QString::asprintf("%02x", result);
- return sentence + sum + "\r\n";
-}
-
-QString QLocationTestUtils::createRmcSentence(const QDateTime &dt)
-{
- QString time = dt.toString("hhmmss.zzz");
- QString date = dt.toString("ddMMyy");
- QString nmea = QString("$GPRMC,%1,A,2730.83609,S,15301.87844,E,0.7,9.0,%2,11.2,W,A*")
- .arg(time).arg(date);
- return addNmeaChecksumAndBreaks(nmea);
-}
-
-QString QLocationTestUtils::createGgaSentence(const QTime &time)
-{
- QString nmea = QString("$GPGGA,%1,2734.76859,S,15305.99361,E,1,04,3.5,49.4,M,39.2,M,,*")
- .arg(time.toString("hhmmss.zzz"));
- return addNmeaChecksumAndBreaks(nmea);
-}
-
-QString QLocationTestUtils::createGgaSentence(int lat, int lng, const QTime &time) {
- QString nmea = QString("$GPGGA,%1,%200.00000,S,%300.,E,1,04,3.5,49.4,M,39.2,M,,*")
- .arg(time.toString("hhmmss.zzz")).arg(lat).arg(lng);
- return addNmeaChecksumAndBreaks(nmea);
-}
-
-QString QLocationTestUtils::createZdaSentence(const QDateTime &dt)
-{
- QString time = dt.toString("hhmmss.zzz");
- QString nmea = QString("$GPZDA,%1,%2,%3,%4,,*")
- .arg(time).arg(dt.toString("dd")).arg(dt.toString("MM")).arg(dt.toString("yyyy"));
- return addNmeaChecksumAndBreaks(nmea);
-}
-
-QString QLocationTestUtils::createGsaSentence()
-{
- return addNmeaChecksumAndBreaks(QStringLiteral("$GPGSA,A,3,,,,,,,,,,,,,3.0,3.5,4.0*"));
-}
-
-QString QLocationTestUtils::createGsvSentence()
-{
- return addNmeaChecksumAndBreaks(QStringLiteral("$GPGSV,1,1,0,,,,,,,,,,,,,,,,*"));
-}
-
-QString QLocationTestUtils::createGsaLongSentence()
-{
- return addNmeaChecksumAndBreaks(QStringLiteral("$GPGSA,A,3,16,25,,,,,,,,,,,2.3,1.3,1.9*"));
-}
-
-QString QLocationTestUtils::createGsvLongSentence()
-{
- return addNmeaChecksumAndBreaks(
- QStringLiteral("$GPGSV,1,1,4,16,49,115,42,25,39,269,36,23,58,176,29,20,72,335,35*"));
-}
-
-QString QLocationTestUtils::createGsaVariableSentence(quint8 satId)
-{
- const QString nmea = QString("$GPGSA,A,3,%1,,,,,,,,,,,,2.3,1.3,1.9*").arg(static_cast<int>(satId));
- return addNmeaChecksumAndBreaks(nmea);
-}
-
-QString QLocationTestUtils::createGsvVariableSentence(quint8 satId)
-{
- const QString nmea = QString("$GPGSV,1,1,1,%1,49,115,42,,,,,,,,,,,,*").arg(static_cast<int>(satId));
- return addNmeaChecksumAndBreaks(nmea);
-}
diff --git a/tests/auto/utils/qlocationtestutils_p.h b/tests/auto/utils/qlocationtestutils_p.h
deleted file mode 100644
index 77c3a394..00000000
--- a/tests/auto/utils/qlocationtestutils_p.h
+++ /dev/null
@@ -1,175 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QLOCATIONTESTUTILS_P_H
-#define QLOCATIONTESTUTILS_P_H
-
-#include <QDebug>
-#include <QString>
-#include <QTest>
-
-namespace QLocationTestUtils
-{
- bool hasDefaultSource();
- bool hasDefaultMonitor();
-
- QString addNmeaChecksumAndBreaks(const QString &sentence);
-
- QString createRmcSentence(const QDateTime &dt);
- QString createGgaSentence(const QTime &time);
- QString createGgaSentence(int lat, int lng, const QTime &time);
- QString createZdaSentence(const QDateTime &dt);
- QString createGsaSentence();
- QString createGsvSentence();
- QString createGsaLongSentence();
- QString createGsvLongSentence();
- QString createGsaVariableSentence(quint8 satId);
- QString createGsvVariableSentence(quint8 satId);
-
- //The purpose of compareEquality() is to test equality
- //operators where it is expected that A == B.
- template<typename A, typename B>
- bool compareEquality(const A &first, const B &second) {
- if (first != second) {
- qWarning() << "compareEquality() failed: first != second";
- return false;
- }
-
- if (second != first) {
- qWarning() << "compareEquality() failed: second != first";
- return false;
- }
-
- if (!(first == second)) {
- qWarning() << "compareEquality() failed: !(first == second)";
- return false;
- }
-
- if (!(second == first)) {
- qWarning() << "compareEquality() failed: !(second == first)";
- return false;
- }
-
- return true;
- }
-
- //The purpose of compareInequality() is to test equality
- //operators where it is expected that A != B.
- //Using !compareEquality(...) is not sufficient because
- //only the first operator checked would end up being tested.
- template<typename A, typename B>
- bool compareInequality(const A &first, const B &second) {
- if (!(first != second)){
- qWarning() << "compareInequality() failed: !(first != second)";
- return false;
- }
-
- if (!(second != first)) {
- qWarning() << "compareInequality() failed: !(second != first)";
- return false;
- }
-
- if (first == second) {
- qWarning() << "compareInequality() failed: first == second)";
- return false;
- }
-
- if (second == first) {
- qWarning() << "compareInequality() failed: second == first";
- return false;
- }
- return true;
- }
-
- // Tests conversions between sub and base classes
- // TC (test case) must implement:
- // SubClass initialSubObject();
- // bool checkType(const BaseClass &)
- // void detach(BaseClass *) - calls a mutator method, but doesn't actually modify the
- // property to something different.
- // void setSubClassProperty(SubClass *) - sets a property in the subclass instance
- template<typename TC, typename BaseClass, typename SubClass>
- void testConversion(TC *tc) {
- SubClass sub = tc->initialSubObject();
- //check conversion from SubClass -> BaseClass
- //using assignment operator
- BaseClass base;
- base = sub;
- QVERIFY(QLocationTestUtils::compareEquality(base, sub));
- QVERIFY(tc->checkType(base));
-
- //check comparing base classes
- BaseClass base2;
- base2 = sub;
- QVERIFY(QLocationTestUtils::compareEquality(base, base2));
-
- //check conversion from BaseClass -> SubClass
- //using assignment operator
- SubClass sub2;
- sub2 = base;
- QVERIFY(QLocationTestUtils::compareEquality(sub, sub2));
- QVERIFY(tc->checkType(sub2));
-
- //check that equality still holds with detachment of underlying data pointer
- tc->detach(&base);
- sub2 = base;
- QVERIFY(QLocationTestUtils::compareEquality(sub, sub2));
- QVERIFY(QLocationTestUtils::compareEquality(sub, base));
- QVERIFY(QLocationTestUtils::compareEquality(base, base2));
-
- //check that comparing objects are not the same
- //when an underlying subclass field has been modified
- tc->setSubClassProperty(&sub2);
- base2 = sub2;
- QVERIFY(QLocationTestUtils::compareInequality(sub, sub2));
- QVERIFY(QLocationTestUtils::compareInequality(sub, base2));
- QVERIFY(QLocationTestUtils::compareInequality(base, base2));
-
- //check conversion from SubClass -> BaseClass
- //using copy constructor
- BaseClass base3(sub);
- QVERIFY(QLocationTestUtils::compareEquality(sub, base3));
- QVERIFY(QLocationTestUtils::compareEquality(base, base3));
-
- //check conversion from BaseClass -> SubClass
- //using copy constructor
- SubClass sub3(base3);
- QVERIFY(QLocationTestUtils::compareEquality(sub, sub3));
-
- //check conversion to subclass using a default base class instance
- BaseClass baseDefault;
- SubClass subDefault;
- SubClass sub4(baseDefault);
- QVERIFY(QLocationTestUtils::compareEquality(sub4, subDefault));
-
- SubClass sub5 = baseDefault;
- QVERIFY(QLocationTestUtils::compareEquality(sub5, subDefault));
- }
-};
-
-#endif
diff --git a/tests/auto/utils/qnmeaproxyfactory.cpp b/tests/auto/utils/qnmeaproxyfactory.cpp
deleted file mode 100644
index 8ad07adf..00000000
--- a/tests/auto/utils/qnmeaproxyfactory.cpp
+++ /dev/null
@@ -1,130 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qnmeaproxyfactory.h"
-#include "qlocationtestutils_p.h"
-#include <QtPositioning/QNmeaPositionInfoSource>
-#include <QtPositioning/QNmeaSatelliteInfoSource>
-
-#include <QIODevice>
-#include <QTcpServer>
-#include <QTcpSocket>
-
-QNmeaPositionInfoSourceProxy::QNmeaPositionInfoSourceProxy(QNmeaPositionInfoSource *source,
- QIODevice *outDevice)
- : m_source(source), m_outDevice(outDevice)
-{
-}
-
-QNmeaPositionInfoSourceProxy::~QNmeaPositionInfoSourceProxy()
-{
- m_outDevice->close();
- delete m_outDevice;
-}
-
-QGeoPositionInfoSource *QNmeaPositionInfoSourceProxy::source() const
-{
- return m_source;
-}
-
-void QNmeaPositionInfoSourceProxy::feedUpdate(const QDateTime &dt)
-{
- m_outDevice->write(QLocationTestUtils::createRmcSentence(dt).toLatin1());
-}
-
-void QNmeaPositionInfoSourceProxy::feedBytes(const QByteArray &bytes)
-{
- m_outDevice->write(bytes);
-}
-
-QNmeaProxyFactory::QNmeaProxyFactory() : m_server(new QTcpServer(this))
-{
- bool b = m_server->listen(QHostAddress::LocalHost);
- Q_ASSERT(b);
-}
-
-QNmeaPositionInfoSourceProxy *
-QNmeaProxyFactory::createPositionInfoSourceProxy(QNmeaPositionInfoSource *source)
-{
- QTcpSocket *client = new QTcpSocket;
- QIODevice *device = createServerConnection(client);
- source->setDevice(device);
- Q_ASSERT(source->device() != 0);
- QNmeaPositionInfoSourceProxy *proxy = new QNmeaPositionInfoSourceProxy(source, client);
- proxy->setParent(source);
- return proxy;
-}
-
-QNmeaSatelliteInfoSourceProxy *
-QNmeaProxyFactory::createSatelliteInfoSourceProxy(QNmeaSatelliteInfoSource *source)
-{
- QTcpSocket *client = new QTcpSocket;
- QIODevice *device = createServerConnection(client);
- source->setDevice(device);
- Q_ASSERT(source->device() != 0);
- QNmeaSatelliteInfoSourceProxy *proxy = new QNmeaSatelliteInfoSourceProxy(source, client);
- proxy->setParent(source);
- return proxy;
-}
-
-QIODevice *QNmeaProxyFactory::createServerConnection(QTcpSocket *client)
-{
- client->connectToHost(m_server->serverAddress(), m_server->serverPort());
- qDebug() << "listening on" << m_server->serverAddress() << m_server->serverPort();
- bool b = m_server->waitForNewConnection(15000);
- if (!b)
- qWarning() << "Server didin't receive new connection";
- b = client->waitForConnected();
- if (!b)
- qWarning() << "Client could not connect to server";
-
- QIODevice *device = m_server->nextPendingConnection();
- return device;
-}
-
-QNmeaSatelliteInfoSourceProxy::QNmeaSatelliteInfoSourceProxy(QNmeaSatelliteInfoSource *source,
- QIODevice *outDevice)
- : m_source(source), m_outDevice(outDevice)
-{
-}
-
-QNmeaSatelliteInfoSourceProxy::~QNmeaSatelliteInfoSourceProxy()
-{
- m_outDevice->close();
- delete m_outDevice;
-}
-
-QGeoSatelliteInfoSource *QNmeaSatelliteInfoSourceProxy::source() const
-{
- return m_source;
-}
-
-void QNmeaSatelliteInfoSourceProxy::feedBytes(const QByteArray &bytes)
-{
- m_outDevice->write(bytes);
-}
diff --git a/tests/auto/utils/qnmeaproxyfactory.h b/tests/auto/utils/qnmeaproxyfactory.h
deleted file mode 100644
index 2cd2e262..00000000
--- a/tests/auto/utils/qnmeaproxyfactory.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QNMEAPROXYFACTORY_H
-#define QNMEAPROXYFACTORY_H
-
-#include <QObject>
-
-QT_BEGIN_NAMESPACE
-class QTcpServer;
-class QTcpSocket;
-class QIODevice;
-class QNmeaPositionInfoSource;
-class QNmeaSatelliteInfoSource;
-class QGeoPositionInfoSource;
-class QGeoSatelliteInfoSource;
-QT_END_NAMESPACE
-
-class QNmeaPositionInfoSourceProxy : public QObject
-{
- Q_OBJECT
-public:
- QNmeaPositionInfoSourceProxy(QNmeaPositionInfoSource *source, QIODevice *outDevice);
- ~QNmeaPositionInfoSourceProxy();
-
- QGeoPositionInfoSource *source() const;
-
- void feedUpdate(const QDateTime &dt);
-
- void feedBytes(const QByteArray &bytes);
-
- int updateIntervalErrorMargin() const { return 50; }
-
-private:
- QNmeaPositionInfoSource *m_source;
- QIODevice *m_outDevice;
-};
-
-class QNmeaSatelliteInfoSourceProxy : public QObject
-{
- Q_OBJECT
-public:
- QNmeaSatelliteInfoSourceProxy(QNmeaSatelliteInfoSource *source, QIODevice *outDevice);
- ~QNmeaSatelliteInfoSourceProxy();
-
- QGeoSatelliteInfoSource *source() const;
-
- void feedBytes(const QByteArray &bytes);
-
-private:
- QNmeaSatelliteInfoSource *m_source;
- QIODevice *m_outDevice;
-};
-
-class QNmeaProxyFactory : public QObject
-{
- Q_OBJECT
-public:
- QNmeaProxyFactory();
-
- // proxy is created as child of source
- QNmeaPositionInfoSourceProxy *createPositionInfoSourceProxy(QNmeaPositionInfoSource *source);
- QNmeaSatelliteInfoSourceProxy *createSatelliteInfoSourceProxy(QNmeaSatelliteInfoSource *source);
-
-private:
- QIODevice *createServerConnection(QTcpSocket *client);
-
- QTcpServer *m_server;
-};
-
-#endif