##// END OF EJS Templates
QML bar series categories
QML bar series categories

File last commit:

r439:86afa1b4ff5f
r726:5bffcd7b4ba5
Show More
tst_chartdataset.cpp
277 lines | 8.2 KiB | text/x-c | CppLexer
Michal Klocek
Adds chartdata unit test
r224 #include <QtTest/QtTest>
#include <qchartaxis.h>
Michal Klocek
Rename QLineChartSeries to QLineSeries
r349 #include <qlineseries.h>
Michal Klocek
Adds chartdata unit test
r224 #include <private/chartdataset_p.h>
#include <private/domain_p.h>
QTCOMMERCIALCHART_USE_NAMESPACE
Michal Klocek
Refactor domain model...
r439 Q_DECLARE_METATYPE(Domain*)
Michal Klocek
Adds chartdata unit test
r224 Q_DECLARE_METATYPE(QChartAxis*)
Michal Klocek
Rename QChartSeries to QSeries
r360 Q_DECLARE_METATYPE(QSeries*)
Michal Klocek
Rename QLineChartSeries to QLineSeries
r349 Q_DECLARE_METATYPE(QLineSeries*)
Michal Klocek
Adds chartdata unit test
r224
class tst_ChartDataSet: public QObject {
Q_OBJECT
public slots:
void initTestCase();
void cleanupTestCase();
void init();
void cleanup();
private slots:
void chartdataset_data();
void chartdataset();
void addSeries_data();
void addSeries();
void removeSeries_data();
void removeSeries();
Michal Klocek
Adds RemoveAllSeries method to API
r258 void removeAllSeries_data();
void removeAllSeries();
Michal Klocek
Refactor domain model...
r439 void axisY_data();
void axisY();
Michal Klocek
Adds chartdata unit test
r224 };
void tst_ChartDataSet::initTestCase()
{
Michal Klocek
Refactor domain model...
r439 qRegisterMetaType<Domain*>();
Michal Klocek
Adds chartdata unit test
r224 qRegisterMetaType<QChartAxis*>();
Michal Klocek
Rename QChartSeries to QSeries
r360 qRegisterMetaType<QSeries*>();
Michal Klocek
Adds chartdata unit test
r224 }
void tst_ChartDataSet::cleanupTestCase()
{
}
void tst_ChartDataSet::init()
{
}
void tst_ChartDataSet::cleanup()
{
}
void tst_ChartDataSet::chartdataset_data()
{
}
void tst_ChartDataSet::chartdataset()
{
ChartDataSet dataSet;
QVERIFY2(dataSet.axisX(), "Missing axisX.");
QVERIFY2(dataSet.axisY(), "Missing axisY.");
//check if not dangling pointer
dataSet.axisX()->objectName();
dataSet.axisY()->objectName();
}
void tst_ChartDataSet::addSeries_data()
{
Michal Klocek
Refactor domain model...
r439 QTest::addColumn<QLineSeries*>("series0");
QTest::addColumn<QChartAxis*>("axis0");
QTest::addColumn<QLineSeries*>("series1");
QTest::addColumn<QChartAxis*>("axis1");
QTest::addColumn<QLineSeries*>("series2");
QTest::addColumn<QChartAxis*>("axis2");
QTest::addColumn<int>("axisCount");
QLineSeries* series0 = new QLineSeries(this);
QLineSeries* series1 = new QLineSeries(this);
QLineSeries* series2 = new QLineSeries(this);
QChartAxis* axis0 = new QChartAxis(this);
QChartAxis* axis1 = new QChartAxis(this);
QChartAxis* axis2 = new QChartAxis(this);
QTest::newRow("default axis Y: series0,series1,series2") << series0 << (QChartAxis*)0 << series1 << (QChartAxis*)0 << series2 << (QChartAxis*)0 << 2;
QTest::newRow("default axis Y: series0, axis 0: series1,series2") << series0 << (QChartAxis*)0 << series1 << axis0 << series2 << axis0 << 3;
QTest::newRow("axis0: series0, axis1: series1, axis2: series2") << series0 << axis0 << series1 << axis1 << series2 << axis2 << 4;
Michal Klocek
Adds chartdata unit test
r224 }
void tst_ChartDataSet::addSeries()
{
Michal Klocek
Refactor domain model...
r439 QFETCH(QLineSeries*, series0);
QFETCH(QChartAxis*, axis0);
QFETCH(QLineSeries*, series1);
QFETCH(QChartAxis*, axis1);
QFETCH(QLineSeries*, series2);
QFETCH(QChartAxis*, axis2);
QFETCH(int, axisCount);
Michal Klocek
Fix unit test
r411
ChartDataSet dataSet;
Michal Klocek
Refactor domain model...
r439 QSignalSpy spy0(&dataSet, SIGNAL(axisAdded(QChartAxis*,Domain*)));
QSignalSpy spy1(&dataSet, SIGNAL(axisRemoved(QChartAxis*)));
QSignalSpy spy2(&dataSet, SIGNAL(seriesAdded(QSeries*,Domain*)));
QSignalSpy spy3(&dataSet, SIGNAL(seriesRemoved(QSeries*)));
Michal Klocek
Fix unit test
r411
Michal Klocek
Refactor domain model...
r439 dataSet.addSeries(series0,axis0);
dataSet.addSeries(series1,axis1);
dataSet.addSeries(series2,axis2);
Michal Klocek
Fix unit test
r411
QCOMPARE(spy0.count(), axisCount);
Michal Klocek
Refactor domain model...
r439 QCOMPARE(spy1.count(), 0);
QCOMPARE(spy2.count(), 3);
QCOMPARE(spy3.count(), 0);
Michal Klocek
Adds chartdata unit test
r224
}
Michal Klocek
Refactor domain model...
r439 void tst_ChartDataSet::removeSeries_data()
Michal Klocek
Adds chartdata unit test
r224 {
Michal Klocek
Refactor domain model...
r439 QTest::addColumn<QLineSeries*>("series0");
QTest::addColumn<QChartAxis*>("axis0");
QTest::addColumn<QLineSeries*>("series1");
QTest::addColumn<QChartAxis*>("axis1");
QTest::addColumn<QLineSeries*>("series2");
QTest::addColumn<QChartAxis*>("axis2");
QTest::addColumn<int>("axisCount");
QLineSeries* series0 = new QLineSeries(this);
QLineSeries* series1 = new QLineSeries(this);
QLineSeries* series2 = new QLineSeries(this);
QChartAxis* axis0 = new QChartAxis(this);
QChartAxis* axis1 = new QChartAxis(this);
QChartAxis* axis2 = new QChartAxis(this);
QTest::newRow("default axis Y: series0,series1,series2") << series0 << (QChartAxis*) 0
<< series1 << (QChartAxis*) 0 << series2 << (QChartAxis*) 0 << 2;
QTest::newRow("default axis Y: series0, axis 0: series1,series2") << series0 << (QChartAxis*) 0
<< series1 << axis0 << series2 << axis0 << 3;
QTest::newRow("axis0: series0, axis1: series1, axis2: series2") << series0 << axis0 << series1
<< axis1 << series2 << axis2 << 4;
Michal Klocek
Adds chartdata unit test
r224 }
Michal Klocek
Refactor domain model...
r439 void tst_ChartDataSet::removeSeries()
Michal Klocek
Adds chartdata unit test
r224 {
Michal Klocek
Refactor domain model...
r439 QFETCH(QLineSeries*, series0);
QFETCH(QChartAxis*, axis0);
QFETCH(QLineSeries*, series1);
QFETCH(QChartAxis*, axis1);
QFETCH(QLineSeries*, series2);
QFETCH(QChartAxis*, axis2);
QFETCH(int, axisCount);
Michal Klocek
Adds chartdata unit test
r224
Michal Klocek
Refactor domain model...
r439 ChartDataSet dataSet;
Michal Klocek
Adds chartdata unit test
r224
Michal Klocek
Refactor domain model...
r439 dataSet.addSeries(series0,axis0);
dataSet.addSeries(series1,axis1);
dataSet.addSeries(series2,axis2);
Michal Klocek
Adds chartdata unit test
r224
Michal Klocek
Refactor domain model...
r439 QSignalSpy spy0(&dataSet, SIGNAL(axisAdded(QChartAxis*,Domain*)));
QSignalSpy spy1(&dataSet, SIGNAL(axisRemoved(QChartAxis*)));
QSignalSpy spy2(&dataSet, SIGNAL(seriesAdded(QSeries*,Domain*)));
QSignalSpy spy3(&dataSet, SIGNAL(seriesRemoved(QSeries*)));
Michal Klocek
Adds chartdata unit test
r224
Michal Klocek
Refactor domain model...
r439 dataSet.removeSeries(series0);
dataSet.removeSeries(series1);
dataSet.removeSeries(series2);
Michal Klocek
Adds chartdata unit test
r224
Michal Klocek
Refactor domain model...
r439 QCOMPARE(spy0.count(), 0);
QCOMPARE(spy1.count(), axisCount);
QCOMPARE(spy2.count(), 0);
QCOMPARE(spy3.count(), 3);
Michal Klocek
Adds chartdata unit test
r224 }
Michal Klocek
Refactor domain model...
r439 void tst_ChartDataSet::removeAllSeries_data()
Michal Klocek
Adds chartdata unit test
r224 {
Michal Klocek
Refactor domain model...
r439 QTest::addColumn<QLineSeries*>("series0");
QTest::addColumn<QChartAxis*>("axis0");
QTest::addColumn<QLineSeries*>("series1");
QTest::addColumn<QChartAxis*>("axis1");
QTest::addColumn<QLineSeries*>("series2");
QTest::addColumn<QChartAxis*>("axis2");
QTest::addColumn<int>("axisCount");
QLineSeries* series0 = new QLineSeries(this);
QLineSeries* series1 = new QLineSeries(this);
QLineSeries* series2 = new QLineSeries(this);
QChartAxis* axis0 = new QChartAxis(this);
QChartAxis* axis1 = new QChartAxis(this);
QChartAxis* axis2 = new QChartAxis(this);
QTest::newRow("default axis Y: series0,series1,series2") << series0 << (QChartAxis*) 0
<< series1 << (QChartAxis*) 0 << series2 << (QChartAxis*) 0 << 2;
QTest::newRow("default axis Y: series0, axis 0: series1,series2") << series0 << (QChartAxis*) 0
<< series1 << axis0 << series2 << axis0 << 3;
QTest::newRow("axis0: series0, axis1: series1, axis2: series2") << series0 << axis0 << series1
<< axis1 << series2 << axis2 << 4;
Michal Klocek
Adds chartdata unit test
r224 }
Michal Klocek
Refactor domain model...
r439 void tst_ChartDataSet::removeAllSeries()
Michal Klocek
Adds chartdata unit test
r224 {
Michal Klocek
Refactor domain model...
r439 QFETCH(QLineSeries*, series0);
QFETCH(QChartAxis*, axis0);
QFETCH(QLineSeries*, series1);
QFETCH(QChartAxis*, axis1);
QFETCH(QLineSeries*, series2);
QFETCH(QChartAxis*, axis2);
QFETCH(int, axisCount);
ChartDataSet dataSet;
dataSet.addSeries(series0,axis0);
dataSet.addSeries(series1,axis1);
dataSet.addSeries(series2,axis2);
QSignalSpy spy0(&dataSet, SIGNAL(axisAdded(QChartAxis*,Domain*)));
QSignalSpy spy1(&dataSet, SIGNAL(axisRemoved(QChartAxis*)));
QSignalSpy spy2(&dataSet, SIGNAL(seriesAdded(QSeries*,Domain*)));
QSignalSpy spy3(&dataSet, SIGNAL(seriesRemoved(QSeries*)));
dataSet.removeAllSeries();
QCOMPARE(spy0.count(), 0);
QCOMPARE(spy1.count(), axisCount);
QCOMPARE(spy2.count(), 0);
QCOMPARE(spy3.count(), 3);
Michal Klocek
Adds chartdata unit test
r224 }
Michal Klocek
Refactor domain model...
r439 void tst_ChartDataSet::axisY_data()
Michal Klocek
Adds chartdata unit test
r224 {
Michal Klocek
Refactor domain model...
r439 QTest::addColumn<QChartAxis*>("axis0");
QTest::addColumn<QChartAxis*>("axis1");
QTest::addColumn<QChartAxis*>("axis2");
QTest::newRow("1 defualt, 2 optional") << (QChartAxis*)0 << new QChartAxis() << new QChartAxis();
QTest::newRow("3 optional") << new QChartAxis() << new QChartAxis() << new QChartAxis();
Michal Klocek
Adds chartdata unit test
r224 }
Michal Klocek
Refactor domain model...
r439 void tst_ChartDataSet::axisY()
Michal Klocek
Adds chartdata unit test
r224 {
Michal Klocek
Refactor domain model...
r439 QFETCH(QChartAxis*, axis0);
QFETCH(QChartAxis*, axis1);
QFETCH(QChartAxis*, axis2);
Michal Klocek
Adds chartdata unit test
r224
Michal Klocek
Refactor domain model...
r439 ChartDataSet dataSet;
Michal Klocek
Adds chartdata unit test
r224
Michal Klocek
Refactor domain model...
r439 QChartAxis* defaultAxisY = dataSet.axisY();
Michal Klocek
Adds chartdata unit test
r224
Michal Klocek
Refactor domain model...
r439 QVERIFY2(defaultAxisY, "Missing axisY.");
Michal Klocek
Adds chartdata unit test
r224
Michal Klocek
Refactor domain model...
r439 QLineSeries* series0 = new QLineSeries();
dataSet.addSeries(series0,axis0);
Michal Klocek
Adds RemoveAllSeries method to API
r258
Michal Klocek
Refactor domain model...
r439 QLineSeries* series1 = new QLineSeries();
dataSet.addSeries(series1,axis1);
Michal Klocek
Adds RemoveAllSeries method to API
r258
Michal Klocek
Refactor domain model...
r439 QLineSeries* series2 = new QLineSeries();
dataSet.addSeries(series2,axis2);
Michal Klocek
Adds RemoveAllSeries method to API
r258
Michal Klocek
Refactor domain model...
r439 if(!axis0) axis0=defaultAxisY ;
if(!axis1) axis1=defaultAxisY ;
if(!axis2) axis2=defaultAxisY ;
Michal Klocek
Adds RemoveAllSeries method to API
r258
Michal Klocek
Refactor domain model...
r439 QVERIFY(dataSet.axisY(series0) == axis0);
QVERIFY(dataSet.axisY(series1) == axis1);
QVERIFY(dataSet.axisY(series2) == axis2);
Michal Klocek
Adds RemoveAllSeries method to API
r258
}
Michal Klocek
Adds chartdata unit test
r224 QTEST_MAIN(tst_ChartDataSet)
#include "tst_chartdataset.moc"