diff options
author | Michal Klocek <michal.klocek@digia.com> | 2012-05-21 10:58:11 +0300 |
---|---|---|
committer | Michal Klocek <michal.klocek@digia.com> | 2012-05-21 11:47:32 +0300 |
commit | 49edf2d3495fa615f76866f5976e14073c498ccc (patch) | |
tree | 8a16aff0be9e3e91db89eaa2a5347622ebb8f687 /tests/auto/qpercentbarseries | |
parent | 84c5353058e3c0ee9b4fa60e218dc0fa42ace007 (diff) |
Qt name convetion: move test to tests
Diffstat (limited to 'tests/auto/qpercentbarseries')
-rw-r--r-- | tests/auto/qpercentbarseries/qpercentbarseries.pro | 6 | ||||
-rw-r--r-- | tests/auto/qpercentbarseries/tst_qpercentbarseries.cpp | 344 |
2 files changed, 350 insertions, 0 deletions
diff --git a/tests/auto/qpercentbarseries/qpercentbarseries.pro b/tests/auto/qpercentbarseries/qpercentbarseries.pro new file mode 100644 index 00000000..64f9b4bd --- /dev/null +++ b/tests/auto/qpercentbarseries/qpercentbarseries.pro @@ -0,0 +1,6 @@ +!include( ../auto.pri ) { + error( "Couldn't find the auto.pri file!" ) +} +SOURCES += tst_qpercentbarseries.cpp + +!system_build:mac: QMAKE_POST_LINK += "$$MAC_POST_LINK_PREFIX $$MAC_AUTOTESTS_BIN_DIR" diff --git a/tests/auto/qpercentbarseries/tst_qpercentbarseries.cpp b/tests/auto/qpercentbarseries/tst_qpercentbarseries.cpp new file mode 100644 index 00000000..7aaf09be --- /dev/null +++ b/tests/auto/qpercentbarseries/tst_qpercentbarseries.cpp @@ -0,0 +1,344 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Digia Plc +** All rights reserved. +** For any questions to Digia, please use contact form at http://qt.digia.com +** +** This file is part of the Qt Commercial Charts Add-on. +** +** $QT_BEGIN_LICENSE$ +** Licensees holding valid Qt Commercial licenses may use this file in +** accordance with the Qt Commercial License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.digia.com +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <QtTest/QtTest> +#include <qpercentbarseries.h> +#include <qbarset.h> +#include <qchartview.h> +#include <qchart.h> + +QTCOMMERCIALCHART_USE_NAMESPACE + +Q_DECLARE_METATYPE(QBarSet*) + +class tst_QPercentBarSeries : public QObject +{ + Q_OBJECT + +public slots: + void initTestCase(); + void cleanupTestCase(); + void init(); + void cleanup(); + +private slots: + void qpercentbarseries_data(); + void qpercentbarseries(); + void type_data(); + void type(); + void mouseclicked_data(); + void mouseclicked(); + void mousehovered_data(); + void mousehovered(); + +private: + QPercentBarSeries* m_barseries; +}; + +void tst_QPercentBarSeries::initTestCase() +{ + qRegisterMetaType<QBarSet*>("QBarSet*"); +} + +void tst_QPercentBarSeries::cleanupTestCase() +{ +} + +void tst_QPercentBarSeries::init() +{ + m_barseries = new QPercentBarSeries(); +} + +void tst_QPercentBarSeries::cleanup() +{ + delete m_barseries; + m_barseries = 0; +} + +void tst_QPercentBarSeries::qpercentbarseries_data() +{ +} + +void tst_QPercentBarSeries::qpercentbarseries() +{ + QPercentBarSeries *barseries = new QPercentBarSeries(); + QVERIFY(barseries != 0); +} + +void tst_QPercentBarSeries::type_data() +{ + +} + +void tst_QPercentBarSeries::type() +{ + QVERIFY(m_barseries->type() == QAbstractSeries::SeriesTypePercentBar); +} + +void tst_QPercentBarSeries::mouseclicked_data() +{ + +} + +void tst_QPercentBarSeries::mouseclicked() +{ + QPercentBarSeries* series = new QPercentBarSeries(); + QBarCategories categories; + categories << "test1" << "test2" << "test3"; + series->setCategories(categories); + + QBarSet* set1 = new QBarSet(QString("set 1")); + *set1 << 10 << 10 << 10; + series->append(set1); + + QBarSet* set2 = new QBarSet(QString("set 2")); + *set2 << 10 << 10 << 10; + series->append(set2); + + QSignalSpy setSpy1(set1, SIGNAL(clicked(QString))); + QSignalSpy setSpy2(set2, SIGNAL(clicked(QString))); + QSignalSpy seriesSpy(series,SIGNAL(clicked(QBarSet*,QString))); + + QChartView view(new QChart()); + view.resize(400,300); + view.chart()->addSeries(series); + view.show(); + QTest::qWaitForWindowShown(&view); + +//==================================================================================== +// barset 1, category test1 + QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(115,230)); + QCoreApplication::processEvents(QEventLoop::AllEvents, 1000); + + QCOMPARE(setSpy1.count(), 1); + QCOMPARE(setSpy2.count(), 0); + QCOMPARE(seriesSpy.count(), 1); + QList<QVariant> setSpyArg = setSpy1.takeFirst(); + QVERIFY(setSpyArg.at(0).type() == QVariant::String); + QVERIFY(setSpyArg.at(0).toString().compare(QString("test1")) == 0); + + QList<QVariant> seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(0)), set1); + +//==================================================================================== +// barset 1, category test2 + QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(205,230)); + QCoreApplication::processEvents(QEventLoop::AllEvents, 1000); + + QCOMPARE(setSpy1.count(), 1); + QCOMPARE(setSpy2.count(), 0); + QCOMPARE(seriesSpy.count(), 1); + setSpyArg = setSpy1.takeFirst(); + QVERIFY(setSpyArg.at(0).type() == QVariant::String); + QVERIFY(setSpyArg.at(0).toString().compare(QString("test2")) == 0); + + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(0)), set1); + +//==================================================================================== +// barset 1, category test3 + QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(300,230)); + QCoreApplication::processEvents(QEventLoop::AllEvents, 1000); + + QCOMPARE(setSpy1.count(), 1); + QCOMPARE(setSpy2.count(), 0); + QCOMPARE(seriesSpy.count(), 1); + setSpyArg = setSpy1.takeFirst(); + QVERIFY(setSpyArg.at(0).type() == QVariant::String); + QVERIFY(setSpyArg.at(0).toString().compare(QString("test3")) == 0); + + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(0)), set1); + +//==================================================================================== +// barset 2, category test1 + QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(115,140)); + QCoreApplication::processEvents(QEventLoop::AllEvents, 1000); + + QCOMPARE(setSpy1.count(), 0); + QCOMPARE(setSpy2.count(), 1); + QCOMPARE(seriesSpy.count(), 1); + setSpyArg = setSpy2.takeFirst(); + QVERIFY(setSpyArg.at(0).type() == QVariant::String); + QVERIFY(setSpyArg.at(0).toString().compare(QString("test1")) == 0); + + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(0)), set2); + +//==================================================================================== +// barset 2, category test2 + QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(205,140)); + QCoreApplication::processEvents(QEventLoop::AllEvents, 1000); + + QCOMPARE(setSpy1.count(), 0); + QCOMPARE(setSpy2.count(), 1); + QCOMPARE(seriesSpy.count(), 1); + setSpyArg = setSpy2.takeFirst(); + QVERIFY(setSpyArg.at(0).type() == QVariant::String); + QVERIFY(setSpyArg.at(0).toString().compare(QString("test2")) == 0); + + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(0)), set2); + +//==================================================================================== +// barset 2, category test3 + QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(300,140)); + QCoreApplication::processEvents(QEventLoop::AllEvents, 1000); + + QCOMPARE(setSpy1.count(), 0); + QCOMPARE(setSpy2.count(), 1); + QCOMPARE(seriesSpy.count(), 1); + setSpyArg = setSpy2.takeFirst(); + QVERIFY(setSpyArg.at(0).type() == QVariant::String); + QVERIFY(setSpyArg.at(0).toString().compare(QString("test3")) == 0); + + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(0)), set2); + +//==================================================================================== +// no event cases + QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(1,1)); // Outside of both sets + QTest::mouseClick(view.viewport(), Qt::RightButton, 0, QPoint(1,1)); // Right mouse button outside and inside sets + QTest::mouseClick(view.viewport(), Qt::RightButton, 0, QPoint(115,230)); // barset 1, category test1 + QTest::mouseClick(view.viewport(), Qt::RightButton, 0, QPoint(205,230)); // barset 1, category test2 + QTest::mouseClick(view.viewport(), Qt::RightButton, 0, QPoint(300,230)); // barset 1, category test3 + QTest::mouseClick(view.viewport(), Qt::RightButton, 0, QPoint(115,140)); // barset 2, category test1 + QTest::mouseClick(view.viewport(), Qt::RightButton, 0, QPoint(205,140)); // barset 2, category test2 + QTest::mouseClick(view.viewport(), Qt::RightButton, 0, QPoint(300,140)); // barset 2, category test3 + + QCoreApplication::processEvents(QEventLoop::AllEvents, 1000); + QCOMPARE(setSpy1.count(), 0); + QCOMPARE(setSpy2.count(), 0); + QCOMPARE(seriesSpy.count(), 0); +} + +void tst_QPercentBarSeries::mousehovered_data() +{ + +} + +void tst_QPercentBarSeries::mousehovered() +{ + QPercentBarSeries* series = new QPercentBarSeries(); + QBarCategories categories; + categories << "test1" << "test2" << "test3"; + series->setCategories(categories); + + QBarSet* set1 = new QBarSet(QString("set 1")); + *set1 << 10 << 10 << 10; + series->append(set1); + + QBarSet* set2 = new QBarSet(QString("set 2")); + *set2 << 10 << 10 << 10; + series->append(set2); + + QSignalSpy setSpy1(set1, SIGNAL(hovered(bool))); + QSignalSpy setSpy2(set2, SIGNAL(hovered(bool))); + QSignalSpy seriesSpy(series,SIGNAL(hovered(QBarSet*,bool))); + + QChartView view(new QChart()); + view.resize(400,300); + view.chart()->addSeries(series); + view.show(); + QTest::qWaitForWindowShown(&view); + +//======================================================================= +// move mouse to left border + QTest::mouseMove(view.viewport(), QPoint(0, 230)); + + + QVERIFY(setSpy1.count() == 0); + QVERIFY(setSpy2.count() == 0); + QVERIFY(seriesSpy.count() == 0); + +//======================================================================= +// move mouse on top of set1 + QTest::mouseMove(view.viewport(), QPoint(115,230)); + + QVERIFY(setSpy1.count() == 1); + QVERIFY(setSpy2.count() == 0); + QVERIFY(seriesSpy.count() == 1); + + QList<QVariant> setSpyArg = setSpy1.takeFirst(); + QVERIFY(setSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setSpyArg.at(0).toBool() == true); + + QList<QVariant> seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(0)), set1); + +//======================================================================= +// move mouse from top of set1 to top of set2 + QTest::mouseMove(view.viewport(), QPoint(115,140)); + + QVERIFY(setSpy1.count() == 1); + QVERIFY(setSpy2.count() == 1); + QVERIFY(seriesSpy.count() == 2); + + // should leave set1 + setSpyArg = setSpy1.takeFirst(); + QVERIFY(setSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setSpyArg.at(0).toBool() == false); + + // should enter set2 + setSpyArg = setSpy2.takeFirst(); + QVERIFY(setSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setSpyArg.at(0).toBool() == true); + + // should leave set1 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(0)), set1); + QVERIFY(seriesSpyArg.at(1).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(1).toBool() == false); + + // should enter set2 + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(0)), set2); + QVERIFY(seriesSpyArg.at(1).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(1).toBool() == true); + +//======================================================================= +// move mouse from top of set2 to background + QTest::mouseMove(view.viewport(), QPoint(0,140)); + + QVERIFY(setSpy1.count() == 0); + QVERIFY(setSpy2.count() == 1); + QVERIFY(seriesSpy.count() == 1); + + // should leave set2 (event via set) + setSpyArg = setSpy2.takeFirst(); + QVERIFY(setSpyArg.at(0).type() == QVariant::Bool); + QVERIFY(setSpyArg.at(0).toBool() == false); + + // should leave set2 (event via series) + seriesSpyArg = seriesSpy.takeFirst(); + QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(0)), set2); + QVERIFY(seriesSpyArg.at(1).type() == QVariant::Bool); + QVERIFY(seriesSpyArg.at(1).toBool() == false); +} + +/* +bool setModel(QAbstractItemModel *model); +void setModelMapping(int categories, int bottomBoundary, int topBoundary, Qt::Orientation orientation = Qt::Vertical); +void setModelMappingRange(int first, int count = -1); +*/ +QTEST_MAIN(tst_QPercentBarSeries) + +#include "tst_qpercentbarseries.moc" + |