summaryrefslogtreecommitdiffstats
path: root/tests/auto/qpercentbarseries
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@digia.com>2012-05-21 10:58:11 +0300
committerMichal Klocek <michal.klocek@digia.com>2012-05-21 11:47:32 +0300
commit49edf2d3495fa615f76866f5976e14073c498ccc (patch)
tree8a16aff0be9e3e91db89eaa2a5347622ebb8f687 /tests/auto/qpercentbarseries
parent84c5353058e3c0ee9b4fa60e218dc0fa42ace007 (diff)
Qt name convetion: move test to tests
Diffstat (limited to 'tests/auto/qpercentbarseries')
-rw-r--r--tests/auto/qpercentbarseries/qpercentbarseries.pro6
-rw-r--r--tests/auto/qpercentbarseries/tst_qpercentbarseries.cpp344
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"
+