diff options
Diffstat (limited to 'tests/auto/qcandlestickset/tst_qcandlestickset.cpp')
-rw-r--r-- | tests/auto/qcandlestickset/tst_qcandlestickset.cpp | 284 |
1 files changed, 284 insertions, 0 deletions
diff --git a/tests/auto/qcandlestickset/tst_qcandlestickset.cpp b/tests/auto/qcandlestickset/tst_qcandlestickset.cpp new file mode 100644 index 00000000..5e94d4c9 --- /dev/null +++ b/tests/auto/qcandlestickset/tst_qcandlestickset.cpp @@ -0,0 +1,284 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Charts module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:GPL$ +** 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 or (at your option) any later version +** approved by the KDE Free Qt Foundation. The licenses are as published by +** the Free Software Foundation and appearing in the file LICENSE.GPL3 +** 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 <QtCharts/QCandlestickSet> +#include <QtCore/QDateTime> +#include <QtTest/QtTest> + +QT_CHARTS_USE_NAMESPACE + +class tst_QCandlestickSet : public QObject +{ + Q_OBJECT + +public Q_SLOTS: + void initTestCase(); + void cleanupTestCase(); + void init(); + void cleanup(); + +private Q_SLOTS: + void qCandlestickSet_data(); + void qCandlestickSet(); + void timestamp_data(); + void timestamp(); + void open_data(); + void open(); + void high_data(); + void high(); + void low_data(); + void low(); + void close_data(); + void close(); + void brush(); + void pen(); + +private: + QCandlestickSet* m_candlestickSet; +}; + +void tst_QCandlestickSet::initTestCase() +{ +} + +void tst_QCandlestickSet::cleanupTestCase() +{ + QTest::qWait(1); // Allow final deleteLaters to run +} + +void tst_QCandlestickSet::init() +{ + m_candlestickSet = new QCandlestickSet(QDateTime::currentMSecsSinceEpoch()); + m_candlestickSet->setOpen(2345.67); + m_candlestickSet->setHigh(4567.89); + m_candlestickSet->setLow(1234.56); + m_candlestickSet->setClose(3456.78); +} + +void tst_QCandlestickSet::cleanup() +{ + delete m_candlestickSet; + m_candlestickSet = nullptr; +} + +void tst_QCandlestickSet::qCandlestickSet_data() +{ + QTest::addColumn<qreal>("timestamp"); + QTest::addColumn<qreal>("expectedTimestamp"); + + QTest::newRow("timestamp less than zero") << -1.0 << 0.0; + QTest::newRow("timestamp equals zero") << 0.0 << 0.0; + QTest::newRow("timestamp greater than zero") << 1.0 << 1.0; + QTest::newRow("timestamp rounded down") << 4.321 << 4.0; + QTest::newRow("timestamp rounded up") << 5.678 << 6.0; +} + +void tst_QCandlestickSet::qCandlestickSet() +{ + QFETCH(qreal, timestamp); + QFETCH(qreal, expectedTimestamp); + + QCandlestickSet candlestickSet(timestamp); + QCOMPARE(candlestickSet.timestamp(), expectedTimestamp); +} + +void tst_QCandlestickSet::timestamp_data() +{ + QTest::addColumn<qreal>("timestamp"); + QTest::addColumn<qreal>("expectedTimestamp"); + + QTest::newRow("timestamp less than zero") << -1.0 << 0.0; + QTest::newRow("timestamp equals zero") << 0.0 << 0.0; + QTest::newRow("timestamp greater than zero") << 1.0 << 1.0; + QTest::newRow("timestamp rounded down") << 4.321 << 4.0; + QTest::newRow("timestamp rounded up") << 5.678 << 6.0; +} + +void tst_QCandlestickSet::timestamp() +{ + QFETCH(qreal, timestamp); + QFETCH(qreal, expectedTimestamp); + + QSignalSpy spy(m_candlestickSet, SIGNAL(timestampChanged())); + + m_candlestickSet->setTimestamp(timestamp); + QCOMPARE(m_candlestickSet->timestamp(), expectedTimestamp); + QCOMPARE(spy.count(), 1); + + // Try set same timestamp value + m_candlestickSet->setTimestamp(expectedTimestamp); + QCOMPARE(m_candlestickSet->timestamp(), expectedTimestamp); + QCOMPARE(spy.count(), 1); +} + +void tst_QCandlestickSet::open_data() +{ + QTest::addColumn<qreal>("open"); + + QTest::newRow("open less than zero") << -1.234; + QTest::newRow("open equals zero") << 0.0; + QTest::newRow("open greater than zero") << 1.234; +} + +void tst_QCandlestickSet::open() +{ + QFETCH(qreal, open); + + QSignalSpy spy(m_candlestickSet, SIGNAL(openChanged())); + + m_candlestickSet->setOpen(open); + QCOMPARE(m_candlestickSet->open(), open); + QCOMPARE(spy.count(), 1); + + // Try set same open value + m_candlestickSet->setOpen(open); + QCOMPARE(m_candlestickSet->open(), open); + QCOMPARE(spy.count(), 1); +} + +void tst_QCandlestickSet::high_data() +{ + QTest::addColumn<qreal>("high"); + + QTest::newRow("high less than zero") << -1.234; + QTest::newRow("high equals zero") << 0.0; + QTest::newRow("high greater than zero") << 1.234; +} + +void tst_QCandlestickSet::high() +{ + QFETCH(qreal, high); + + QSignalSpy spy(m_candlestickSet, SIGNAL(highChanged())); + + m_candlestickSet->setHigh(high); + QCOMPARE(m_candlestickSet->high(), high); + QCOMPARE(spy.count(), 1); + + // Try set same high value + m_candlestickSet->setHigh(high); + QCOMPARE(m_candlestickSet->high(), high); + QCOMPARE(spy.count(), 1); +} + +void tst_QCandlestickSet::low_data() +{ + QTest::addColumn<qreal>("low"); + + QTest::newRow("low less than zero") << -1.234; + QTest::newRow("low equals zero") << 0.0; + QTest::newRow("low greater than zero") << 1.234; +} + +void tst_QCandlestickSet::low() +{ + QFETCH(qreal, low); + + QSignalSpy spy(m_candlestickSet, SIGNAL(lowChanged())); + + m_candlestickSet->setLow(low); + QCOMPARE(m_candlestickSet->low(), low); + QCOMPARE(spy.count(), 1); + + // Try set same low value + m_candlestickSet->setLow(low); + QCOMPARE(m_candlestickSet->low(), low); + QCOMPARE(spy.count(), 1); +} + +void tst_QCandlestickSet::close_data() +{ + QTest::addColumn<qreal>("close"); + + QTest::newRow("close less than zero") << -1.234; + QTest::newRow("close equals zero") << 0.0; + QTest::newRow("close greater than zero") << 1.234; +} + +void tst_QCandlestickSet::close() +{ + QFETCH(qreal, close); + + QSignalSpy spy(m_candlestickSet, SIGNAL(closeChanged())); + + m_candlestickSet->setClose(close); + QCOMPARE(m_candlestickSet->close(), close); + QCOMPARE(spy.count(), 1); + + // Try set same close value + m_candlestickSet->setClose(close); + QCOMPARE(m_candlestickSet->close(), close); + QCOMPARE(spy.count(), 1); +} + +void tst_QCandlestickSet::brush() +{ + QSignalSpy spy(m_candlestickSet, SIGNAL(brushChanged())); + + QCOMPARE(m_candlestickSet->brush(), QBrush(Qt::NoBrush)); + + m_candlestickSet->setBrush(QBrush(Qt::NoBrush)); + QCOMPARE(m_candlestickSet->brush(), QBrush(Qt::NoBrush)); + QCOMPARE(spy.count(), 0); + + QBrush brush(QColor(128, 128, 128, 128)); + m_candlestickSet->setBrush(brush); + QCOMPARE(m_candlestickSet->brush(), brush); + QCOMPARE(spy.count(), 1); + + // Try set same brush + m_candlestickSet->setBrush(brush); + QCOMPARE(m_candlestickSet->brush(), brush); + QCOMPARE(spy.count(), 1); +} + +void tst_QCandlestickSet::pen() +{ + QSignalSpy spy(m_candlestickSet, SIGNAL(penChanged())); + + QCOMPARE(m_candlestickSet->pen(), QPen(Qt::NoPen)); + + m_candlestickSet->setPen(QPen(Qt::NoPen)); + QCOMPARE(m_candlestickSet->pen(), QPen(Qt::NoPen)); + QCOMPARE(spy.count(), 0); + + QPen pen(QColor(128, 128, 128, 128)); + m_candlestickSet->setPen(pen); + QCOMPARE(m_candlestickSet->pen(), pen); + QCOMPARE(spy.count(), 1); + + // Try set same pen + m_candlestickSet->setPen(pen); + QCOMPARE(m_candlestickSet->pen(), pen); + QCOMPARE(spy.count(), 1); +} + +QTEST_GUILESS_MAIN(tst_QCandlestickSet) + +#include "tst_qcandlestickset.moc" |