tst_chartdataset.cpp
277 lines
| 8.2 KiB
| text/x-c
|
CppLexer
Michal Klocek
|
r224 | #include <QtTest/QtTest> | ||
#include <qchartaxis.h> | ||||
Michal Klocek
|
r349 | #include <qlineseries.h> | ||
Michal Klocek
|
r224 | #include <private/chartdataset_p.h> | ||
#include <private/domain_p.h> | ||||
QTCOMMERCIALCHART_USE_NAMESPACE | ||||
Michal Klocek
|
r439 | Q_DECLARE_METATYPE(Domain*) | ||
Michal Klocek
|
r224 | Q_DECLARE_METATYPE(QChartAxis*) | ||
Michal Klocek
|
r360 | Q_DECLARE_METATYPE(QSeries*) | ||
Michal Klocek
|
r349 | Q_DECLARE_METATYPE(QLineSeries*) | ||
Michal Klocek
|
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
|
r258 | void removeAllSeries_data(); | ||
void removeAllSeries(); | ||||
Michal Klocek
|
r439 | void axisY_data(); | ||
void axisY(); | ||||
Michal Klocek
|
r224 | }; | ||
void tst_ChartDataSet::initTestCase() | ||||
{ | ||||
Michal Klocek
|
r439 | qRegisterMetaType<Domain*>(); | ||
Michal Klocek
|
r224 | qRegisterMetaType<QChartAxis*>(); | ||
Michal Klocek
|
r360 | qRegisterMetaType<QSeries*>(); | ||
Michal Klocek
|
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
|
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
|
r224 | } | ||
void tst_ChartDataSet::addSeries() | ||||
{ | ||||
Michal Klocek
|
r439 | QFETCH(QLineSeries*, series0); | ||
QFETCH(QChartAxis*, axis0); | ||||
QFETCH(QLineSeries*, series1); | ||||
QFETCH(QChartAxis*, axis1); | ||||
QFETCH(QLineSeries*, series2); | ||||
QFETCH(QChartAxis*, axis2); | ||||
QFETCH(int, axisCount); | ||||
Michal Klocek
|
r411 | |||
ChartDataSet dataSet; | ||||
Michal Klocek
|
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
|
r411 | |||
Michal Klocek
|
r439 | dataSet.addSeries(series0,axis0); | ||
dataSet.addSeries(series1,axis1); | ||||
dataSet.addSeries(series2,axis2); | ||||
Michal Klocek
|
r411 | |||
QCOMPARE(spy0.count(), axisCount); | ||||
Michal Klocek
|
r439 | QCOMPARE(spy1.count(), 0); | ||
QCOMPARE(spy2.count(), 3); | ||||
QCOMPARE(spy3.count(), 0); | ||||
Michal Klocek
|
r224 | |||
} | ||||
Michal Klocek
|
r439 | void tst_ChartDataSet::removeSeries_data() | ||
Michal Klocek
|
r224 | { | ||
Michal Klocek
|
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
|
r224 | } | ||
Michal Klocek
|
r439 | void tst_ChartDataSet::removeSeries() | ||
Michal Klocek
|
r224 | { | ||
Michal Klocek
|
r439 | QFETCH(QLineSeries*, series0); | ||
QFETCH(QChartAxis*, axis0); | ||||
QFETCH(QLineSeries*, series1); | ||||
QFETCH(QChartAxis*, axis1); | ||||
QFETCH(QLineSeries*, series2); | ||||
QFETCH(QChartAxis*, axis2); | ||||
QFETCH(int, axisCount); | ||||
Michal Klocek
|
r224 | |||
Michal Klocek
|
r439 | ChartDataSet dataSet; | ||
Michal Klocek
|
r224 | |||
Michal Klocek
|
r439 | dataSet.addSeries(series0,axis0); | ||
dataSet.addSeries(series1,axis1); | ||||
dataSet.addSeries(series2,axis2); | ||||
Michal Klocek
|
r224 | |||
Michal Klocek
|
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
|
r224 | |||
Michal Klocek
|
r439 | dataSet.removeSeries(series0); | ||
dataSet.removeSeries(series1); | ||||
dataSet.removeSeries(series2); | ||||
Michal Klocek
|
r224 | |||
Michal Klocek
|
r439 | QCOMPARE(spy0.count(), 0); | ||
QCOMPARE(spy1.count(), axisCount); | ||||
QCOMPARE(spy2.count(), 0); | ||||
QCOMPARE(spy3.count(), 3); | ||||
Michal Klocek
|
r224 | } | ||
Michal Klocek
|
r439 | void tst_ChartDataSet::removeAllSeries_data() | ||
Michal Klocek
|
r224 | { | ||
Michal Klocek
|
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
|
r224 | } | ||
Michal Klocek
|
r439 | void tst_ChartDataSet::removeAllSeries() | ||
Michal Klocek
|
r224 | { | ||
Michal Klocek
|
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
|
r224 | } | ||
Michal Klocek
|
r439 | void tst_ChartDataSet::axisY_data() | ||
Michal Klocek
|
r224 | { | ||
Michal Klocek
|
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
|
r224 | } | ||
Michal Klocek
|
r439 | void tst_ChartDataSet::axisY() | ||
Michal Klocek
|
r224 | { | ||
Michal Klocek
|
r439 | QFETCH(QChartAxis*, axis0); | ||
QFETCH(QChartAxis*, axis1); | ||||
QFETCH(QChartAxis*, axis2); | ||||
Michal Klocek
|
r224 | |||
Michal Klocek
|
r439 | ChartDataSet dataSet; | ||
Michal Klocek
|
r224 | |||
Michal Klocek
|
r439 | QChartAxis* defaultAxisY = dataSet.axisY(); | ||
Michal Klocek
|
r224 | |||
Michal Klocek
|
r439 | QVERIFY2(defaultAxisY, "Missing axisY."); | ||
Michal Klocek
|
r224 | |||
Michal Klocek
|
r439 | QLineSeries* series0 = new QLineSeries(); | ||
dataSet.addSeries(series0,axis0); | ||||
Michal Klocek
|
r258 | |||
Michal Klocek
|
r439 | QLineSeries* series1 = new QLineSeries(); | ||
dataSet.addSeries(series1,axis1); | ||||
Michal Klocek
|
r258 | |||
Michal Klocek
|
r439 | QLineSeries* series2 = new QLineSeries(); | ||
dataSet.addSeries(series2,axis2); | ||||
Michal Klocek
|
r258 | |||
Michal Klocek
|
r439 | if(!axis0) axis0=defaultAxisY ; | ||
if(!axis1) axis1=defaultAxisY ; | ||||
if(!axis2) axis2=defaultAxisY ; | ||||
Michal Klocek
|
r258 | |||
Michal Klocek
|
r439 | QVERIFY(dataSet.axisY(series0) == axis0); | ||
QVERIFY(dataSet.axisY(series1) == axis1); | ||||
QVERIFY(dataSet.axisY(series2) == axis2); | ||||
Michal Klocek
|
r258 | |||
} | ||||
Michal Klocek
|
r224 | QTEST_MAIN(tst_ChartDataSet) | ||
#include "tst_chartdataset.moc" | ||||