##// END OF EJS Templates
removed barlabel. label visibility control is now per series instead of per set
removed barlabel. label visibility control is now per series instead of per set

File last commit:

r1246:5512aa7e284d
r1246:5512aa7e284d
Show More
tst_qbarseries.cpp
673 lines | 20.6 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
Renamed appendBarSet to append, removeBarSet to remove
r1194 void append_data();
void append();
void remove_data();
void remove();
void appendList_data();
void appendList();
void removeList_data();
void removeList();
sauimone
updated barseries unit test. fixed found errors.
r1101 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"));
sauimone
Renamed appendBarSet to append, removeBarSet to remove
r1194 m_barseries_with_sets->append(m_testSets.at(i));
sauimone
updated barseries unit test. fixed found errors.
r1101 }
sauimone
barseries unit testing
r1100 }
void tst_QBarSeries::cleanup()
{
sauimone
updated barseries unit test. fixed found errors.
r1101 foreach(QBarSet* s, m_testSets) {
sauimone
Renamed appendBarSet to append, removeBarSet to remove
r1194 m_barseries_with_sets->remove(s);
sauimone
updated barseries unit test. fixed found errors.
r1101 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
Renamed appendBarSet to append, removeBarSet to remove
r1194 void tst_QBarSeries::append_data()
sauimone
barseries unit testing
r1100 {
}
sauimone
Renamed appendBarSet to append, removeBarSet to remove
r1194 void tst_QBarSeries::append()
sauimone
barseries unit testing
r1100 {
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
Renamed appendBarSet to append, removeBarSet to remove
r1194 ret = m_barseries->append(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
Renamed appendBarSet to append, removeBarSet to remove
r1194 ret = m_barseries->append(barset2);
sauimone
improved set/remove barset test cases. fixed errors
r1122
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
sauimone
Renamed appendBarSet to append, removeBarSet to remove
r1194 ret = m_barseries->append(barset2);
sauimone
improved set/remove barset test cases. fixed errors
r1122 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
sauimone
Renamed appendBarSet to append, removeBarSet to remove
r1194 ret = m_barseries->append(0);
sauimone
improved set/remove barset test cases. fixed errors
r1122 QVERIFY(ret == false);
QVERIFY(m_barseries->barsetCount() == 2);
sauimone
updated barseries unit test. fixed found errors.
r1101 }
sauimone
Renamed appendBarSet to append, removeBarSet to remove
r1194 void tst_QBarSeries::remove_data()
sauimone
updated barseries unit test. fixed found errors.
r1101 {
}
sauimone
Renamed appendBarSet to append, removeBarSet to remove
r1194 void tst_QBarSeries::remove()
sauimone
updated barseries unit test. fixed found errors.
r1101 {
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;
sauimone
Renamed appendBarSet to append, removeBarSet to remove
r1194 ret = m_barseries_with_sets->remove(0);
sauimone
improved set/remove barset test cases. fixed errors
r1122 QVERIFY(ret == false);
QVERIFY(m_barseries_with_sets->barsetCount() == count);
// Try to remove invalid pointer (should not remove, should not crash)
sauimone
Renamed appendBarSet to append, removeBarSet to remove
r1194 ret = m_barseries_with_sets->remove((QBarSet*) (m_testSets.at(0) + 1) );
sauimone
improved set/remove barset test cases. fixed errors
r1122 QVERIFY(ret == false);
QVERIFY(m_barseries_with_sets->barsetCount() == count);
sauimone
updated barseries unit test. fixed found errors.
r1101 // remove some sets
sauimone
Renamed appendBarSet to append, removeBarSet to remove
r1194 ret = m_barseries_with_sets->remove(m_testSets.at(2));
sauimone
improved set/remove barset test cases. fixed errors
r1122 QVERIFY(ret == true);
sauimone
Renamed appendBarSet to append, removeBarSet to remove
r1194 ret = m_barseries_with_sets->remove(m_testSets.at(3));
sauimone
improved set/remove barset test cases. fixed errors
r1122 QVERIFY(ret == true);
sauimone
Renamed appendBarSet to append, removeBarSet to remove
r1194 ret = m_barseries_with_sets->remove(m_testSets.at(4));
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() == 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
Renamed appendBarSet to append, removeBarSet to remove
r1194 ret |= m_barseries_with_sets->remove(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);
}
sauimone
Renamed appendBarSet to append, removeBarSet to remove
r1194 void tst_QBarSeries::appendList_data()
sauimone
updated barseries unit test. fixed found errors.
r1101 {
}
sauimone
Renamed appendBarSet to append, removeBarSet to remove
r1194 void tst_QBarSeries::appendList()
sauimone
updated barseries unit test. fixed found errors.
r1101 {
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;
sauimone
Renamed appendBarSet to append, removeBarSet to remove
r1194 ret = m_barseries->append(sets);
sauimone
improved set/remove barset test cases. fixed errors
r1122 QVERIFY(ret == true);
QVERIFY(m_barseries->barsetCount() == count);
// Append same sets again (should fail, count should remain same)
sauimone
Renamed appendBarSet to append, removeBarSet to remove
r1194 ret = m_barseries->append(sets);
sauimone
improved set/remove barset test cases. fixed errors
r1122 QVERIFY(ret == false);
QVERIFY(m_barseries->barsetCount() == count);
// Try append empty list (should succeed, but count should remain same)
QList<QBarSet*> invalidList;
sauimone
Renamed appendBarSet to append, removeBarSet to remove
r1194 ret = m_barseries->append(invalidList);
sauimone
improved set/remove barset test cases. fixed errors
r1122 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));
sauimone
Renamed appendBarSet to append, removeBarSet to remove
r1194 ret = m_barseries->append(invalidList);
sauimone
improved set/remove barset test cases. fixed errors
r1122 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);
sauimone
Renamed appendBarSet to append, removeBarSet to remove
r1194 ret = m_barseries->append(invalidList2);
sauimone
improved set/remove barset test cases. fixed errors
r1122 QVERIFY(ret == false);
sauimone
updated barseries unit test. fixed found errors.
r1101 QVERIFY(m_barseries->barsetCount() == count);
}
sauimone
Renamed appendBarSet to append, removeBarSet to remove
r1194 void tst_QBarSeries::removeList_data()
sauimone
updated barseries unit test. fixed found errors.
r1101 {
}
sauimone
Renamed appendBarSet to append, removeBarSet to remove
r1194 void tst_QBarSeries::removeList()
sauimone
updated barseries unit test. fixed found errors.
r1101 {
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;
sauimone
Renamed appendBarSet to append, removeBarSet to remove
r1194 ret = m_barseries_with_sets->remove(invalidList);
sauimone
improved set/remove barset test cases. fixed errors
r1122 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)
sauimone
Renamed appendBarSet to append, removeBarSet to remove
r1194 ret = m_barseries_with_sets->remove(invalidList);
sauimone
improved set/remove barset test cases. fixed errors
r1122 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)
sauimone
Renamed appendBarSet to append, removeBarSet to remove
r1194 ret = m_barseries_with_sets->remove(m_testSets);
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);
sauimone
improved set/remove barset test cases. fixed errors
r1122 // Try removing invalid list again (should return false, since no barsets were removed)
sauimone
Renamed appendBarSet to append, removeBarSet to remove
r1194 ret = m_barseries_with_sets->remove(invalidList);
sauimone
improved set/remove barset test cases. fixed errors
r1122 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)
sauimone
Renamed appendBarSet to append, removeBarSet to remove
r1194 ret = m_barseries_with_sets->remove(m_testSets);
sauimone
improved set/remove barset test cases. fixed errors
r1122 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
removed barlabel. label visibility control is now per series instead of per set
r1246 QVERIFY(m_barseries->isLabelsVisible() == false);
QVERIFY(m_barseries_with_sets->isLabelsVisible() == false);
sauimone
updated barseries unit test. fixed found errors.
r1101
sauimone
label test tweak
r1123 // turn labels to visible
sauimone
updated barseries unit test. fixed found errors.
r1101 m_barseries_with_sets->setLabelsVisible(true);
sauimone
removed barlabel. label visibility control is now per series instead of per set
r1246 // TODO: test the signal
QVERIFY(m_barseries_with_sets->isLabelsVisible() == true);
sauimone
updated barseries unit test. fixed found errors.
r1101
sauimone
label test tweak
r1123 // turn labels to invisible
sauimone
updated barseries unit test. fixed found errors.
r1101 m_barseries_with_sets->setLabelsVisible(false);
sauimone
removed barlabel. label visibility control is now per series instead of per set
r1246 // TODO: test the signal
QVERIFY(m_barseries_with_sets->isLabelsVisible() == false);
sauimone
label test tweak
r1123
// without parameter, should turn labels to visible
m_barseries_with_sets->setLabelsVisible();
sauimone
removed barlabel. label visibility control is now per series instead of per set
r1246 // TODO: test the signal
QVERIFY(m_barseries_with_sets->isLabelsVisible() == 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
Renamed appendBarSet to append, removeBarSet to remove
r1194 series->append(set1);
sauimone
mouse click test cases for barcharts. Fixed found error
r1145
QBarSet* set2 = new QBarSet(QString("set 2"));
sauimone
barseries mouse test fix
r1235 *set2 << QPointF(0.3,10) << QPointF(1.3,10) << QPointF(2.3,10);
sauimone
Renamed appendBarSet to append, removeBarSet to remove
r1194 series->append(set2);
sauimone
mouse click test cases for barcharts. Fixed found error
r1145
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
barseries mouse test fix
r1235 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(105,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
barseries mouse test fix
r1235 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(200,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
barseries mouse test fix
r1235 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(295,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
barseries mouse test fix
r1235 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(145,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
barseries mouse test fix
r1235 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(240,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
barseries mouse test fix
r1235 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(335,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
barseries mouse test fix
r1235 QTest::mouseClick(view.viewport(), Qt::RightButton, 0, QPoint(105,180)); // barset 1, category test1
QTest::mouseClick(view.viewport(), Qt::RightButton, 0, QPoint(200,180)); // barset 1, category test2
QTest::mouseClick(view.viewport(), Qt::RightButton, 0, QPoint(295,180)); // barset 1, category test3
QTest::mouseClick(view.viewport(), Qt::RightButton, 0, QPoint(145,180)); // barset 2, category test1
QTest::mouseClick(view.viewport(), Qt::RightButton, 0, QPoint(240,180)); // barset 2, category test2
QTest::mouseClick(view.viewport(), Qt::RightButton, 0, QPoint(335,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
Renamed appendBarSet to append, removeBarSet to remove
r1194 series->append(set1);
sauimone
mouse hover test cases for barcharts
r1146
QBarSet* set2 = new QBarSet(QString("set 2"));
sauimone
barseries mouse test fix
r1235 *set2 << QPointF(0.3,10) << QPointF(1.3,10) << QPointF(2.3,10);
sauimone
Renamed appendBarSet to append, removeBarSet to remove
r1194 series->append(set2);
sauimone
mouse hover test cases for barcharts
r1146
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
barseries mouse test fix
r1235 QTest::mouseMove(view.viewport(), QPoint(105,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
barseries mouse test fix
r1235 QTest::mouseMove(view.viewport(), QPoint(145,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
barseries mouse test fix
r1235 QTest::mouseMove(view.viewport(), QPoint(175,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"