##// END OF EJS Templates
Put back the tests for tst_qbarseries
Put back the tests for tst_qbarseries

File last commit:

r1179:543d38d08025
r1179:543d38d08025
Show More
tst_qbarseries.cpp
677 lines | 20.8 KiB | text/x-c | CppLexer
sauimone
barseries unit testing
r1100 /****************************************************************************
**
** 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 <qbarseries.h>
sauimone
include header fix
r1106 #include <qbarset.h>
sauimone
mouse click test cases for barcharts. Fixed found error
r1145 #include <qchartview.h>
#include <qchart.h>
sauimone
barseries unit testing
r1100
QTCOMMERCIALCHART_USE_NAMESPACE
sauimone
mouse click test cases for barcharts. Fixed found error
r1145 Q_DECLARE_METATYPE(QBarSet*)
sauimone
barseries unit testing
r1100 class tst_QBarSeries : public QObject
{
Q_OBJECT
public slots:
void initTestCase();
void cleanupTestCase();
void init();
void cleanup();
private slots:
void qbarseries_data();
void qbarseries();
void type_data();
void type();
sauimone
stacked and percent bar unit tests
r1116 void setCategories_data();
void setCategories();
sauimone
barseries unit testing
r1100 void appendBarSet_data();
void appendBarSet();
sauimone
updated barseries unit test. fixed found errors.
r1101 void removeBarSet_data();
void removeBarSet();
void appendBarSets_data();
void appendBarSets();
void removeBarSets_data();
void removeBarSets();
void barsetCount_data();
void barsetCount();
void categoryCount_data();
void categoryCount();
void barSets_data();
void barSets();
void categories_data();
void categories();
void setLabelsVisible_data();
void setLabelsVisible();
sauimone
mouse hover test cases for barcharts
r1146 void mouseclicked_data();
void mouseclicked();
void mousehovered_data();
void mousehovered();
sauimone
barseries unit testing
r1100
private:
QBarSeries* m_barseries;
sauimone
updated barseries unit test. fixed found errors.
r1101 QBarSeries* m_barseries_with_sets;
QList<QBarSet*> m_testSets;
QBarCategories m_categories;
sauimone
barseries unit testing
r1100 };
void tst_QBarSeries::initTestCase()
{
sauimone
mouse click test cases for barcharts. Fixed found error
r1145 qRegisterMetaType<QBarSet*>("QBarSet*");
sauimone
barseries unit testing
r1100 }
void tst_QBarSeries::cleanupTestCase()
{
}
void tst_QBarSeries::init()
{
sauimone
updated barseries unit test. fixed found errors.
r1101 m_categories << "category0" << "category1" << "category2";
sauimone
separated categories from barseries constructor
r1112 m_barseries = new QBarSeries();
m_barseries->setCategories(m_categories);
m_barseries_with_sets = new QBarSeries();
m_barseries_with_sets->setCategories(m_categories);
sauimone
updated barseries unit test. fixed found errors.
r1101
for (int i=0; i<5; i++) {
m_testSets.append(new QBarSet("testset"));
m_barseries_with_sets->appendBarSet(m_testSets.at(i));
}
sauimone
barseries unit testing
r1100 }
void tst_QBarSeries::cleanup()
{
sauimone
updated barseries unit test. fixed found errors.
r1101 foreach(QBarSet* s, m_testSets) {
m_barseries_with_sets->removeBarSet(s);
delete s;
}
m_testSets.clear();
sauimone
barseries unit testing
r1100 delete m_barseries;
m_barseries = 0;
sauimone
updated barseries unit test. fixed found errors.
r1101 delete m_barseries_with_sets;
m_barseries_with_sets = 0;
m_categories.clear();
sauimone
barseries unit testing
r1100 }
void tst_QBarSeries::qbarseries_data()
{
QTest::addColumn<QBarCategories> ("categories");
QBarCategories c;
c << "category0" << "category1" << "category2";
QTest::newRow("categories") << c;
}
void tst_QBarSeries::qbarseries()
{
QFETCH(QBarCategories, categories);
sauimone
separated categories from barseries constructor
r1112 QBarSeries *barseries = new QBarSeries();
sauimone
barseries unit testing
r1100 QVERIFY(barseries != 0);
sauimone
separated categories from barseries constructor
r1112 barseries->setCategories(categories);
sauimone
barseries unit testing
r1100 QBarCategories verifyCategories = barseries->categories();
QVERIFY(verifyCategories.count() == categories.count());
for (int i=0; i<categories.count(); i++) {
QVERIFY(verifyCategories.at(i).compare(categories.at(i)) == 0);
}
}
void tst_QBarSeries::type_data()
{
}
void tst_QBarSeries::type()
{
QVERIFY(m_barseries->type() == QAbstractSeries::SeriesTypeBar);
}
sauimone
stacked and percent bar unit tests
r1116 void tst_QBarSeries::setCategories_data()
{
QTest::addColumn<QBarCategories> ("categories");
QBarCategories categories;
categories << "c1" << "c2" << "c3" << "c4" << "c5" << "c6";
QTest::newRow("cat") << categories;
}
void tst_QBarSeries::setCategories()
{
QVERIFY(m_barseries->categories().count() == m_categories.count());
QFETCH(QBarCategories, categories);
m_barseries->setCategories(categories);
QVERIFY(m_barseries->categories().count() == categories.count());
for (int i=0; i<categories.count(); i++) {
QVERIFY(m_barseries->categories().at(i).compare(categories.at(i)) == 0);
}
}
sauimone
barseries unit testing
r1100 void tst_QBarSeries::appendBarSet_data()
{
}
void tst_QBarSeries::appendBarSet()
{
QVERIFY(m_barseries->barsetCount() == 0);
sauimone
improved set/remove barset test cases. fixed errors
r1122 bool ret = false;
// Try adding barset
sauimone
barseries unit testing
r1100 QBarSet *barset = new QBarSet("testset");
sauimone
improved set/remove barset test cases. fixed errors
r1122 ret = m_barseries->appendBarSet(barset);
sauimone
barseries unit testing
r1100
sauimone
improved set/remove barset test cases. fixed errors
r1122 QVERIFY(ret == true);
sauimone
barseries unit testing
r1100 QVERIFY(m_barseries->barsetCount() == 1);
sauimone
updated barseries unit test. fixed found errors.
r1101
sauimone
improved set/remove barset test cases. fixed errors
r1122 // Try adding another set
sauimone
updated barseries unit test. fixed found errors.
r1101 QBarSet *barset2 = new QBarSet("testset2");
sauimone
improved set/remove barset test cases. fixed errors
r1122 ret = m_barseries->appendBarSet(barset2);
QVERIFY(ret == true);
QVERIFY(m_barseries->barsetCount() == 2);
sauimone
updated barseries unit test. fixed found errors.
r1101
sauimone
improved set/remove barset test cases. fixed errors
r1122 // Try adding same set again
ret = m_barseries->appendBarSet(barset2);
QVERIFY(ret == false);
sauimone
updated barseries unit test. fixed found errors.
r1101 QVERIFY(m_barseries->barsetCount() == 2);
sauimone
improved set/remove barset test cases. fixed errors
r1122
// Try adding null set
ret = m_barseries->appendBarSet(0);
QVERIFY(ret == false);
QVERIFY(m_barseries->barsetCount() == 2);
sauimone
updated barseries unit test. fixed found errors.
r1101 }
void tst_QBarSeries::removeBarSet_data()
{
}
void tst_QBarSeries::removeBarSet()
{
int count = m_testSets.count();
QVERIFY(m_barseries_with_sets->barsetCount() == count);
sauimone
improved set/remove barset test cases. fixed errors
r1122 // Try to remove null pointer (should not remove, should not crash)
bool ret = false;
ret = m_barseries_with_sets->removeBarSet(0);
QVERIFY(ret == false);
QVERIFY(m_barseries_with_sets->barsetCount() == count);
// Try to remove invalid pointer (should not remove, should not crash)
ret = m_barseries_with_sets->removeBarSet((QBarSet*) (m_testSets.at(0) + 1) );
QVERIFY(ret == false);
QVERIFY(m_barseries_with_sets->barsetCount() == count);
sauimone
updated barseries unit test. fixed found errors.
r1101 // remove some sets
sauimone
improved set/remove barset test cases. fixed errors
r1122 ret = m_barseries_with_sets->removeBarSet(m_testSets.at(2));
QVERIFY(ret == true);
ret = m_barseries_with_sets->removeBarSet(m_testSets.at(3));
QVERIFY(ret == true);
ret = m_barseries_with_sets->removeBarSet(m_testSets.at(4));
QVERIFY(ret == true);
sauimone
updated barseries unit test. fixed found errors.
r1101
QVERIFY(m_barseries_with_sets->barsetCount() == 2);
QList<QBarSet*> verifysets = m_barseries_with_sets->barSets();
QVERIFY(verifysets.at(0) == m_testSets.at(0));
QVERIFY(verifysets.at(1) == m_testSets.at(1));
sauimone
improved set/remove barset test cases. fixed errors
r1122 // Try removing all sets again (should be ok, even if some sets have already been removed)
ret = false;
sauimone
updated barseries unit test. fixed found errors.
r1101 for (int i=0; i<count; i++) {
sauimone
improved set/remove barset test cases. fixed errors
r1122 ret |= m_barseries_with_sets->removeBarSet(m_testSets.at(i));
sauimone
updated barseries unit test. fixed found errors.
r1101 }
sauimone
improved set/remove barset test cases. fixed errors
r1122 QVERIFY(ret == true);
sauimone
updated barseries unit test. fixed found errors.
r1101 QVERIFY(m_barseries_with_sets->barsetCount() == 0);
}
void tst_QBarSeries::appendBarSets_data()
{
}
void tst_QBarSeries::appendBarSets()
{
int count = 5;
QVERIFY(m_barseries->barsetCount() == 0);
QList<QBarSet*> sets;
for (int i=0; i<count; i++) {
sets.append(new QBarSet("testset"));
}
sauimone
improved set/remove barset test cases. fixed errors
r1122 // Append new sets (should succeed, count should match the count of sets)
bool ret = false;
ret = m_barseries->appendBarSets(sets);
QVERIFY(ret == true);
QVERIFY(m_barseries->barsetCount() == count);
// Append same sets again (should fail, count should remain same)
ret = m_barseries->appendBarSets(sets);
QVERIFY(ret == false);
QVERIFY(m_barseries->barsetCount() == count);
// Try append empty list (should succeed, but count should remain same)
QList<QBarSet*> invalidList;
ret = m_barseries->appendBarSets(invalidList);
QVERIFY(ret == true);
QVERIFY(m_barseries->barsetCount() == count);
// Try append list with one new and one existing set (should fail, count remains same)
invalidList.append(new QBarSet("ok set"));
invalidList.append(sets.at(0));
ret = m_barseries->appendBarSets(invalidList);
QVERIFY(ret == false);
QVERIFY(m_barseries->barsetCount() == count);
// Try append list with null pointers (should fail, count remains same)
QList<QBarSet*> invalidList2;
invalidList2.append(0);
invalidList2.append(0);
invalidList2.append(0);
ret = m_barseries->appendBarSets(invalidList2);
QVERIFY(ret == false);
sauimone
updated barseries unit test. fixed found errors.
r1101 QVERIFY(m_barseries->barsetCount() == count);
}
void tst_QBarSeries::removeBarSets_data()
{
}
void tst_QBarSeries::removeBarSets()
{
int count = m_testSets.count();
QVERIFY(m_barseries_with_sets->barsetCount() == count);
sauimone
improved set/remove barset test cases. fixed errors
r1122 // Try removing empty list of sets (should return false, since no barsets were removed)
bool ret = false;
QList<QBarSet*> invalidList;
ret = m_barseries_with_sets->removeBarSets(invalidList);
QVERIFY(ret == false);
QVERIFY(m_barseries_with_sets->barsetCount() == count);
// Add some null pointers to list
invalidList.append(0);
invalidList.append(0);
invalidList.append(0);
// Try removing null pointers from list (should return false, should not crash, should not remove anything)
ret = m_barseries_with_sets->removeBarSets(invalidList);
QVERIFY(ret == false);
sauimone
updated barseries unit test. fixed found errors.
r1101 QVERIFY(m_barseries_with_sets->barsetCount() == count);
sauimone
improved set/remove barset test cases. fixed errors
r1122 // remove all sets (should return true, since sets were removed)
ret = m_barseries_with_sets->removeBarSets(m_testSets);
QVERIFY(ret == true);
sauimone
updated barseries unit test. fixed found errors.
r1101 QVERIFY(m_barseries_with_sets->barsetCount() == 0);
sauimone
improved set/remove barset test cases. fixed errors
r1122 // Try removing invalid list again (should return false, since no barsets were removed)
ret = m_barseries_with_sets->removeBarSets(invalidList);
QVERIFY(ret == false);
sauimone
updated barseries unit test. fixed found errors.
r1101 QVERIFY(m_barseries_with_sets->barsetCount() == 0);
sauimone
improved set/remove barset test cases. fixed errors
r1122 // remove all sets again (should return false, since barsets were already removed)
ret = m_barseries_with_sets->removeBarSets(m_testSets);
QVERIFY(ret == false);
sauimone
updated barseries unit test. fixed found errors.
r1101 QVERIFY(m_barseries_with_sets->barsetCount() == 0);
}
void tst_QBarSeries::barsetCount_data()
{
}
void tst_QBarSeries::barsetCount()
{
QVERIFY(m_barseries->barsetCount() == 0);
QVERIFY(m_barseries_with_sets->barsetCount() == m_testSets.count());
}
void tst_QBarSeries::categoryCount_data()
{
}
void tst_QBarSeries::categoryCount()
{
QVERIFY(m_barseries->categoryCount() == m_categories.count());
QVERIFY(m_barseries_with_sets->categoryCount() == m_categories.count());
}
void tst_QBarSeries::barSets_data()
{
}
void tst_QBarSeries::barSets()
{
QVERIFY(m_barseries->barSets().count() == 0);
QList<QBarSet*> sets = m_barseries_with_sets->barSets();
QVERIFY(sets.count() == m_testSets.count());
for (int i=0; i<m_testSets.count(); i++) {
QVERIFY(sets.at(i) == m_testSets.at(i));
}
}
void tst_QBarSeries::categories_data()
{
}
void tst_QBarSeries::categories()
{
QBarCategories categories = m_barseries->categories();
QVERIFY(categories.count() == m_categories.count());
for (int i=0; i<m_categories.count(); i++) {
QVERIFY(categories.at(i).compare(m_categories.at(i)) == 0);
}
}
void tst_QBarSeries::setLabelsVisible_data()
{
}
void tst_QBarSeries::setLabelsVisible()
{
sauimone
label test tweak
r1123 // labels should be invisible by default
sauimone
updated barseries unit test. fixed found errors.
r1101 foreach (QBarSet* s, m_testSets) {
QVERIFY(s->labelsVisible() == false);
}
sauimone
label test tweak
r1123 // turn labels to visible
sauimone
updated barseries unit test. fixed found errors.
r1101 m_barseries_with_sets->setLabelsVisible(true);
foreach (QBarSet* s, m_testSets) {
QVERIFY(s->labelsVisible() == true);
}
sauimone
label test tweak
r1123 // turn labels to invisible
sauimone
updated barseries unit test. fixed found errors.
r1101 m_barseries_with_sets->setLabelsVisible(false);
foreach (QBarSet* s, m_testSets) {
QVERIFY(s->labelsVisible() == false);
}
sauimone
label test tweak
r1123
// without parameter, should turn labels to visible
m_barseries_with_sets->setLabelsVisible();
foreach (QBarSet* s, m_testSets) {
QVERIFY(s->labelsVisible() == true);
}
sauimone
barseries unit testing
r1100 }
sauimone
mouse hover test cases for barcharts
r1146 void tst_QBarSeries::mouseclicked_data()
sauimone
mouse click test cases for barcharts. Fixed found error
r1145 {
}
sauimone
mouse hover test cases for barcharts
r1146 void tst_QBarSeries::mouseclicked()
sauimone
mouse click test cases for barcharts. Fixed found error
r1145 {
QBarSeries* series = new QBarSeries();
QBarCategories categories;
categories << "test1" << "test2" << "test3";
series->setCategories(categories);
QBarSet* set1 = new QBarSet(QString("set 1"));
sauimone
fixing barchart tests with new layout
r1177 *set1 << QPointF(0,10) << QPointF(1,10) << QPointF(2,10);
sauimone
mouse click test cases for barcharts. Fixed found error
r1145 series->appendBarSet(set1);
QBarSet* set2 = new QBarSet(QString("set 2"));
sauimone
fixing barchart tests with new layout
r1177 *set2 << QPointF(0.5,10) << QPointF(1.5,10) << QPointF(2.5,10);
sauimone
mouse click test cases for barcharts. Fixed found error
r1145 series->appendBarSet(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
sauimone
fixing barchart tests with new layout
r1177 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(75,180));
sauimone
mouse click test cases for barcharts. Fixed found error
r1145 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
sauimone
fixing barchart tests with new layout
r1177 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(160,180));
sauimone
mouse click test cases for barcharts. Fixed found error
r1145 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
sauimone
fixing barchart tests with new layout
r1177 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(255,180));
sauimone
mouse click test cases for barcharts. Fixed found error
r1145 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
sauimone
fixing barchart tests with new layout
r1177 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(115,180));
sauimone
mouse click test cases for barcharts. Fixed found error
r1145 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
sauimone
fixing barchart tests with new layout
r1177 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(205,180));
sauimone
mouse click test cases for barcharts. Fixed found error
r1145 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
sauimone
fixing barchart tests with new layout
r1177 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(300,180));
sauimone
mouse click test cases for barcharts. Fixed found error
r1145 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
sauimone
fixing barchart tests with new layout
r1177 QTest::mouseClick(view.viewport(), Qt::RightButton, 0, QPoint(75,180)); // barset 1, category test1
QTest::mouseClick(view.viewport(), Qt::RightButton, 0, QPoint(160,180)); // barset 1, category test2
QTest::mouseClick(view.viewport(), Qt::RightButton, 0, QPoint(255,180)); // barset 1, category test3
QTest::mouseClick(view.viewport(), Qt::RightButton, 0, QPoint(115,180)); // barset 2, category test1
QTest::mouseClick(view.viewport(), Qt::RightButton, 0, QPoint(205,180)); // barset 2, category test2
QTest::mouseClick(view.viewport(), Qt::RightButton, 0, QPoint(300,180)); // barset 2, category test3
sauimone
mouse click test cases for barcharts. Fixed found error
r1145
QCoreApplication::processEvents(QEventLoop::AllEvents, 1000);
QCOMPARE(setSpy1.count(), 0);
QCOMPARE(setSpy2.count(), 0);
QCOMPARE(seriesSpy.count(), 0);
}
sauimone
mouse hover test cases for barcharts
r1146 void tst_QBarSeries::mousehovered_data()
{
}
void tst_QBarSeries::mousehovered()
{
QBarSeries* series = new QBarSeries();
QBarCategories categories;
categories << "test1" << "test2" << "test3";
series->setCategories(categories);
QBarSet* set1 = new QBarSet(QString("set 1"));
sauimone
fixing barchart tests with new layout
r1177 *set1 << QPointF(0.1,10) << QPointF(1.1,10) << QPointF(2.1,10);
sauimone
mouse hover test cases for barcharts
r1146 series->appendBarSet(set1);
QBarSet* set2 = new QBarSet(QString("set 2"));
sauimone
fixing barchart tests with new layout
r1177 *set2 << QPointF(0.4,10) << QPointF(1.4,10) << QPointF(2.4,10);
sauimone
mouse hover test cases for barcharts
r1146 series->appendBarSet(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, 180));
QVERIFY(setSpy1.count() == 0);
QVERIFY(setSpy2.count() == 0);
QVERIFY(seriesSpy.count() == 0);
//=======================================================================
// move mouse on top of set1
sauimone
fixing barchart tests with new layout
r1177 QTest::mouseMove(view.viewport(), QPoint(75,180));
sauimone
mouse hover test cases for barcharts
r1146
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
sauimone
fixing barchart tests with new layout
r1177 QTest::mouseMove(view.viewport(), QPoint(105,180));
sauimone
mouse hover test cases for barcharts
r1146
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
sauimone
fixing barchart tests with new layout
r1177 QTest::mouseMove(view.viewport(), QPoint(135,180));
sauimone
mouse hover test cases for barcharts
r1146
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);
}
sauimone
barseries unit testing
r1100 /*
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_QBarSeries)
#include "tst_qbarseries.moc"