tst_qcandlestickset.cpp
284 lines
| 7.7 KiB
| text/x-c
|
CppLexer
Alexander Mishin
|
r2896 | /**************************************************************************** | ||
** | ||||
** 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" | ||||