From 1c49aa901cb25b0bbdeb4922784fec273b97e781 Mon Sep 17 00:00:00 2001 From: Michal Klocek Date: Fri, 16 Nov 2012 13:21:46 +0200 Subject: Refactors internals * rewrite axisUpdated signal handling * create handlers for each property of axis * decouple chartdataset, presenter, theme * adds theme manager * adds axis add/remove/attach/detach handling * refactors createGraphics * add initializers (graphics,domain,theme,animations) * refactor the way the charts are constructed (decouple form presenter) * fix initialization issues with qchart * refactor domain logic to handle also geometry size for charts * delegate xyseries geometry calculation to domian * fix lazy initialization of animations * remove hadnleGeomoetryChanged * add shared pointers to handle reference count for domain * moves nice number algorithm to domain * adds applyNiceNumbers(), depreciate setNiceNumbers * refactor multiple charts handling * domain is shared object * each domain can have multiple axis for controlling * multiple charts share now the same domain --- tests/auto/chartdataset/tst_chartdataset.cpp | 544 +++++++++---------------- tests/auto/domain/tst_domain.cpp | 265 +++++++----- tests/auto/qabstractaxis/tst_qabstractaxis.cpp | 32 +- tests/auto/qvalueaxis/tst_qvalueaxis.cpp | 11 +- 4 files changed, 364 insertions(+), 488 deletions(-) (limited to 'tests') diff --git a/tests/auto/chartdataset/tst_chartdataset.cpp b/tests/auto/chartdataset/tst_chartdataset.cpp index f7d3234c..d418128b 100644 --- a/tests/auto/chartdataset/tst_chartdataset.cpp +++ b/tests/auto/chartdataset/tst_chartdataset.cpp @@ -43,6 +43,8 @@ QTEST_MAIN(tst_ChartDataSet) #include #include #include +#include +#include #include #include #include @@ -62,6 +64,8 @@ Q_DECLARE_METATYPE(QAbstractAxis *) Q_DECLARE_METATYPE(QAbstractSeries *) Q_DECLARE_METATYPE(QList) Q_DECLARE_METATYPE(QList) +Q_DECLARE_METATYPE(Qt::Alignment) +Q_DECLARE_METATYPE(QList) Q_DECLARE_METATYPE(QLineSeries *) class tst_ChartDataSet: public QObject { @@ -79,26 +83,20 @@ private Q_SLOTS: void chartdataset(); void addSeries_data(); void addSeries(); - void setAxisX_data(); - void setAxisX(); - void setAxisY_data(); - void setAxisY(); void removeSeries_data(); void removeSeries(); void removeAllSeries_data(); void removeAllSeries(); - void seriesCount_data(); - void seriesCount(); - void seriesIndex_data(); - void seriesIndex(); - void domain_data(); - void domain(); - void zoomInDomain_data(); - void zoomInDomain(); - void zoomOutDomain_data(); - void zoomOutDomain(); - void scrollDomain_data(); - void scrollDomain(); + void addAxis_data(); + void addAxis(); + void removeAxis_data(); + void removeAxis(); + void removeAllAxes_data(); + void removeAllAxes(); + void attachAxis_data(); + void attachAxis(); + void detachAxis_data(); + void detachAxis(); private: ChartDataSet* m_dataset; @@ -117,7 +115,7 @@ void tst_ChartDataSet::cleanupTestCase() void tst_ChartDataSet::init() { - m_dataset = new ChartDataSet(); + m_dataset = new ChartDataSet(0); } @@ -136,14 +134,9 @@ void tst_ChartDataSet::chartdataset_data() void tst_ChartDataSet::chartdataset() { - QVERIFY(m_dataset->axisX(0) == 0); - QVERIFY(m_dataset->axisY(0) == 0); - QLineSeries* series = new QLineSeries(this); - QCOMPARE(m_dataset->seriesIndex(series),-1); - QVERIFY(m_dataset->domain(series) == 0); - QVERIFY(m_dataset->axisX(series) == 0); - QVERIFY(m_dataset->axisY(series) == 0); - m_dataset->createDefaultAxes(); + QVERIFY(m_dataset->axes().isEmpty()); + QVERIFY(m_dataset->series().isEmpty()); + m_dataset->createDefaultAxes(); } @@ -172,143 +165,21 @@ void tst_ChartDataSet::addSeries_data() void tst_ChartDataSet::addSeries() { - QFETCH(QAbstractSeries*, series); + QVERIFY(m_dataset->series().isEmpty()); - QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*,Domain*))); + QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*))); QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*))); - QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*,Domain*))); + QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*))); QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*))); m_dataset->addSeries(series); - m_dataset->createDefaultAxes(); - if(series->type()==QAbstractSeries::SeriesTypePie){ - TRY_COMPARE(spy0.count(), 0); - }else{ - TRY_COMPARE(spy0.count(), 2); - } - TRY_COMPARE(spy1.count(), 0); - TRY_COMPARE(spy2.count(), 1); - TRY_COMPARE(spy3.count(), 0); -} - - -void tst_ChartDataSet::setAxisX_data() -{ - QTest::addColumn >("seriesList"); - QTest::addColumn >("axisList"); - QTest::addColumn("axisCount"); - - QAbstractSeries* line = new QLineSeries(this); - QAbstractSeries* area = new QAreaSeries(static_cast(line)); - QAbstractSeries* scatter = new QScatterSeries(this); - QAbstractSeries* spline = new QSplineSeries(this); - /*QAbstractSeries* pie = */new QPieSeries(this); - /*QAbstractSeries* bar = */new QBarSeries(this); - /*QAbstractSeries* percent = */new QPercentBarSeries(this); - /*QAbstractSeries* stacked = */new QStackedBarSeries(this); - - QTest::newRow("line,spline,scatter: axis 0 axis1 axis 2") - << (QList() << line << spline << scatter) - << (QList() << new QValueAxis(this) << new QValueAxis(this) << new QValueAxis(this)) << 3; - - QTest::newRow("area: axis 0") << (QList() << area) - << (QList() << new QValueAxis(this)) << 1; - - QList axes0; - axes0 << new QValueAxis(this) << new QValueAxis(this); - axes0 << axes0.last(); - QTest::newRow("line,spline,scatter: axis 0 axis1 axis 1") - << (QList() << line << spline << scatter) - << axes0 << 2; - //TODO: add more test cases -} - -void tst_ChartDataSet::setAxisX() -{ - QFETCH(QList, seriesList); - QFETCH(QList, axisList); - QFETCH(int, axisCount); - - Q_ASSERT(seriesList.count() == axisList.count()); - - QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*,Domain*))); - QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*))); - QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*,Domain*))); - QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*))); - - foreach (QAbstractSeries* series, seriesList){ - m_dataset->addSeries(series); - } + QCOMPARE(m_dataset->series().count(),1); TRY_COMPARE(spy0.count(), 0); TRY_COMPARE(spy1.count(), 0); - TRY_COMPARE(spy2.count(), seriesList.count()); - TRY_COMPARE(spy3.count(), 0); - - QSignalSpy spy4(m_dataset, SIGNAL(axisAdded(QAbstractAxis*,Domain*))); - QSignalSpy spy5(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*))); - QSignalSpy spy6(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*,Domain*))); - QSignalSpy spy7(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*))); - - for(int i=0 ; i < seriesList.count(); i++){ - m_dataset->setAxis(seriesList.at(i),axisList.at(i),Qt::Horizontal); - } - - TRY_COMPARE(spy4.count(), axisCount); - TRY_COMPARE(spy5.count(), 0); - TRY_COMPARE(spy6.count(), 0); - TRY_COMPARE(spy7.count(), 0); - - for(int i=0 ; i < seriesList.count(); i++){ - QVERIFY(m_dataset->axisX(seriesList.at(i)) == axisList.at(i)); - } -} - -void tst_ChartDataSet::setAxisY_data() -{ - setAxisX_data(); -} - -void tst_ChartDataSet::setAxisY() -{ - QFETCH(QList, seriesList); - QFETCH(QList, axisList); - QFETCH(int, axisCount); - - Q_ASSERT(seriesList.count() == axisList.count()); - - QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*,Domain*))); - QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*))); - QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*,Domain*))); - QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*))); - - foreach (QAbstractSeries* series, seriesList){ - m_dataset->addSeries(series); - } - - TRY_COMPARE(spy0.count(), 0); - TRY_COMPARE(spy1.count(), 0); - TRY_COMPARE(spy2.count(), seriesList.count()); + TRY_COMPARE(spy2.count(), 1); TRY_COMPARE(spy3.count(), 0); - - QSignalSpy spy4(m_dataset, SIGNAL(axisAdded(QAbstractAxis*,Domain*))); - QSignalSpy spy5(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*))); - QSignalSpy spy6(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*,Domain*))); - QSignalSpy spy7(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*))); - - for(int i=0 ; i < seriesList.count(); i++){ - m_dataset->setAxis(seriesList.at(i),axisList.at(i),Qt::Vertical); - } - - TRY_COMPARE(spy4.count(), axisCount); - TRY_COMPARE(spy5.count(), 0); - TRY_COMPARE(spy6.count(), 0); - TRY_COMPARE(spy7.count(), 0); - - for(int i=0 ; i < seriesList.count(); i++){ - QVERIFY(m_dataset->axisY(seriesList.at(i)) == axisList.at(i)); - } } void tst_ChartDataSet::removeSeries_data() @@ -319,24 +190,19 @@ void tst_ChartDataSet::removeSeries_data() void tst_ChartDataSet::removeSeries() { QFETCH(QAbstractSeries*, series); - + QVERIFY(m_dataset->series().isEmpty()); m_dataset->addSeries(series); - m_dataset->createDefaultAxes(); - QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*,Domain*))); + QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*))); QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*))); - QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*,Domain*))); + QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*))); QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*))); m_dataset->removeSeries(series); + QCOMPARE(m_dataset->series().count(),0); TRY_COMPARE(spy0.count(), 0); - if (series->type() == QAbstractSeries::SeriesTypePie) { - TRY_COMPARE(spy1.count(), 0); - } - else { - TRY_COMPARE(spy1.count(), 2); - } + TRY_COMPARE(spy1.count(), 0); TRY_COMPARE(spy2.count(), 0); TRY_COMPARE(spy3.count(), 1); } @@ -345,298 +211,270 @@ void tst_ChartDataSet::removeAllSeries_data() { QTest::addColumn >("seriesList"); QTest::addColumn >("axisList"); - QTest::addColumn("axisCount"); - - QTest::newRow("line,spline,scatter: axis 0 axis1 axis 2") - << (QList() << new QLineSeries(this) << new QSplineSeries(this) - << new QScatterSeries(this)) - << (QList() << new QValueAxis(this) << new QValueAxis(this) - << new QValueAxis(this)) << 3; - //TODO: + + QList series; + QList axis; + + series << new QLineSeries(this) << new QSplineSeries(this) << new QScatterSeries(this); + axis << new QValueAxis(this) << new QValueAxis(this) << new QValueAxis(this); + + QTest::newRow("3 series , 3 axis") << series << axis; } void tst_ChartDataSet::removeAllSeries() { QFETCH(QList, seriesList); QFETCH(QList, axisList); - QFETCH(int, axisCount); + + QCOMPARE(m_dataset->series().count(),0); + QCOMPARE(m_dataset->axes().count(),0); foreach (QAbstractSeries* series, seriesList) { m_dataset->addSeries(series); } + foreach (QAbstractAxis* axis, axisList) { + m_dataset->addAxis(axis,Qt::AlignBottom); + } + for (int i = 0; i < seriesList.count(); i++) { - m_dataset->setAxis(seriesList.at(i), axisList.at(i),Qt::Horizontal); + m_dataset->attachAxis(seriesList.at(i),axisList.at(i)); } - QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*,Domain*))); + QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*))); QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*))); - QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*,Domain*))); + QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*))); QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*))); m_dataset->removeAllSeries(); TRY_COMPARE(spy0.count(), 0); - TRY_COMPARE(spy1.count(), axisCount); + TRY_COMPARE(spy1.count(), 0); TRY_COMPARE(spy2.count(), 0); TRY_COMPARE(spy3.count(), seriesList.count()); -} + QCOMPARE(m_dataset->series().count(),0); + QCOMPARE(m_dataset->axes().count(),axisList.count()); +} -void tst_ChartDataSet::seriesCount_data() +void tst_ChartDataSet::addAxis_data() { - QTest::addColumn >("seriesList"); - QTest::addColumn("seriesCount"); - - QTest::newRow("line,line, line, spline 3") << (QList() << new QLineSeries(this) << new QLineSeries(this) << new QLineSeries(this) << new QSplineSeries(this) ) << 3; - QTest::newRow("scatter,scatter, line, line 2") << (QList() << new QScatterSeries(this) << new QScatterSeries(this) << new QLineSeries(this) << new QLineSeries(this) ) << 2; + QTest::addColumn("axis"); + QAbstractAxis* value = new QValueAxis(this); + QAbstractAxis* category = new QCategoryAxis(this); + QAbstractAxis* barcategory = new QBarCategoryAxis(this); + QAbstractAxis* datetime = new QDateTimeAxis(this); + + QTest::newRow("value") << value; + QTest::newRow("category") << category; + QTest::newRow("barcategory") << barcategory; + QTest::newRow("datetime") << datetime; } -void tst_ChartDataSet::seriesCount() +void tst_ChartDataSet::addAxis() { - QFETCH(QList, seriesList); - QFETCH(int, seriesCount); + QFETCH(QAbstractAxis*, axis); + QVERIFY(m_dataset->axes().isEmpty()); - foreach (QAbstractSeries* series, seriesList){ - m_dataset->addSeries(series); - } - - QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*,Domain*))); + QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*))); QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*))); - QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*,Domain*))); + QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*))); QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*))); - QCOMPARE(m_dataset->seriesCount(seriesList.at(0)->type()),seriesCount); - TRY_COMPARE(spy0.count(), 0); + m_dataset->addAxis(axis,Qt::AlignBottom); + + QCOMPARE(m_dataset->axes().count(),1); + TRY_COMPARE(spy0.count(), 1); TRY_COMPARE(spy1.count(), 0); TRY_COMPARE(spy2.count(), 0); TRY_COMPARE(spy3.count(), 0); } -void tst_ChartDataSet::seriesIndex_data() +void tst_ChartDataSet::removeAxis_data() { - QTest::addColumn >("seriesList"); - - QTest::newRow("line,line, line, spline") << (QList() << new QLineSeries(this) << new QLineSeries(this) << new QLineSeries(this) << new QSplineSeries(this) ); - QTest::newRow("scatter,scatter, line, line") << (QList() << new QScatterSeries(this) << new QScatterSeries(this) << new QLineSeries(this) << new QLineSeries(this) ); + addAxis_data(); } -void tst_ChartDataSet::seriesIndex() +void tst_ChartDataSet::removeAxis() { + QFETCH(QAbstractAxis*, axis); + QVERIFY(m_dataset->series().isEmpty()); + m_dataset->addAxis(axis,Qt::AlignBottom); - QFETCH(QList, seriesList); - - foreach (QAbstractSeries* series, seriesList) { - m_dataset->addSeries(series); - } - - QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*,Domain*))); + QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*))); QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*))); - QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*,Domain*))); + QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*))); QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*))); - for (int i = 0; i < seriesList.count(); i++) { - QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), i); - } + m_dataset->removeAxis(axis); + QCOMPARE(m_dataset->series().count(),0); TRY_COMPARE(spy0.count(), 0); - TRY_COMPARE(spy1.count(), 0); + TRY_COMPARE(spy1.count(), 1); TRY_COMPARE(spy2.count(), 0); TRY_COMPARE(spy3.count(), 0); +} - foreach (QAbstractSeries* series, seriesList) { - m_dataset->removeSeries(series); - } - - for (int i = 0; i < seriesList.count(); i++) { - QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), -1); - } - - foreach (QAbstractSeries* series, seriesList) { - m_dataset->addSeries(series); - } - - for (int i = 0; i < seriesList.count(); i++) { - QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), i); - } +void tst_ChartDataSet::removeAllAxes_data() +{ + QTest::addColumn >("seriesList"); + QTest::addColumn >("axisList"); - m_dataset->removeSeries(seriesList.at(1)); + QList series; + QList axis; - for (int i = 0; i < seriesList.count(); i++) { - if (i != 1) - QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), i); - else - QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), -1); - } + series << new QLineSeries(this) << new QSplineSeries(this) << new QScatterSeries(this); + axis << new QValueAxis(this) << new QValueAxis(this) << new QValueAxis(this); - m_dataset->addSeries(seriesList.at(1)); + QTest::newRow("3 series , 3 axis") << series << axis; +} - for (int i = 0; i < seriesList.count(); i++) { - QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), i); - } +void tst_ChartDataSet::removeAllAxes() +{ + QFETCH(QList, seriesList); + QFETCH(QList, axisList); - m_dataset->removeSeries(seriesList.at(2)); + QCOMPARE(m_dataset->series().count(),0); + QCOMPARE(m_dataset->axes().count(),0); - for (int i = 0; i < seriesList.count(); i++) { - if (i != 2) - QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), i); - else - QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), -1); + foreach (QAbstractSeries* series, seriesList) { + m_dataset->addSeries(series); } - m_dataset->removeSeries(seriesList.at(0)); - - for (int i = 0; i < seriesList.count(); i++) { - if (i != 2 && i != 0) - QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), i); - else - QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), -1); + foreach (QAbstractAxis* axis, axisList) { + m_dataset->addAxis(axis,Qt::AlignBottom); } - m_dataset->addSeries(seriesList.at(2)); - m_dataset->addSeries(seriesList.at(0)); - for (int i = 0; i < seriesList.count(); i++) { - if (i == 2) - QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), 0); - else if (i == 0) - QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), 2); - else - QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), i); + m_dataset->attachAxis(seriesList.at(i),axisList.at(i)); } -} - -void tst_ChartDataSet::domain_data() -{ - addSeries_data(); -} - -void tst_ChartDataSet::domain() -{ - QFETCH(QAbstractSeries*, series); - - QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*,Domain*))); + QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*))); QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*))); - QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*,Domain*))); + QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*))); QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*))); - m_dataset->addSeries(series); - QVERIFY(m_dataset->domain(series)); - + m_dataset->removeAllAxes(); TRY_COMPARE(spy0.count(), 0); - TRY_COMPARE(spy1.count(), 0); - TRY_COMPARE(spy2.count(), 1); - - QList arguments = spy2.takeFirst(); - Domain *domain = (Domain *) arguments.at(1).value(); - QVERIFY(m_dataset->domain(series) == domain); - + TRY_COMPARE(spy1.count(), axisList.count()); + TRY_COMPARE(spy2.count(), 0); TRY_COMPARE(spy3.count(), 0); + QCOMPARE(m_dataset->series().count(),seriesList.count()); + QCOMPARE(m_dataset->axes().count(),0); } -void tst_ChartDataSet::zoomInDomain_data() -{ - QTest::addColumn("sameAxis"); - QTest::addColumn >("seriesList"); - QTest::newRow("sameAxis: line,line, line, spline") << true << (QList() << new QLineSeries(this) << new QLineSeries(this) << new QLineSeries(this) << new QSplineSeries(this) ); - QTest::newRow("separeateAxis: line,line, line, spline") << false << (QList() << new QLineSeries(this) << new QLineSeries(this) << new QLineSeries(this) << new QSplineSeries(this) ); -} - -void tst_ChartDataSet::zoomInDomain() +void tst_ChartDataSet::attachAxis_data() { - QFETCH(bool, sameAxis); - QFETCH(QList, seriesList); - - foreach (QAbstractSeries* series, seriesList) { - m_dataset->addSeries(series); - } - - if(sameAxis) m_dataset->createDefaultAxes(); - - QList spyList; - - foreach (QAbstractSeries* series, seriesList) { - spyList << new QSignalSpy(m_dataset->domain(series),SIGNAL(updated())); - } + QTest::addColumn >("series"); + QTest::addColumn >("axis"); + QTest::addColumn >("alignment"); + QTest::addColumn("attachSeries"); + QTest::addColumn("attachAxis"); + QTest::addColumn("success"); - m_dataset->zoomInDomain(QRect(0, 0, 100, 100), QSize(1000, 1000)); + QList series; + QList axes; + QList alignment; - foreach (QSignalSpy* spy, spyList) { - TRY_COMPARE(spy->count(), 1); - } + QAbstractSeries* line = new QLineSeries(this); + QAbstractSeries* area = new QAreaSeries(static_cast(line)); + QAbstractSeries* scatter = new QScatterSeries(this); + QAbstractSeries* spline = new QSplineSeries(this); + QAbstractSeries* pie = new QPieSeries(this); + QAbstractSeries* bar = new QBarSeries(this); + QAbstractSeries* percent = new QPercentBarSeries(this); + QAbstractSeries* stacked = new QStackedBarSeries(this); - qDeleteAll(spyList); -} + QAbstractAxis* value1 = new QValueAxis(this); + QAbstractAxis* value2 = new QValueAxis(this); + QAbstractAxis* category = new QCategoryAxis(this); + QAbstractAxis* barcategory = new QBarCategoryAxis(this); + QAbstractAxis* datetime = new QDateTimeAxis(this); + series << line << 0; + axes << value1 << value2; + alignment << Qt::AlignBottom << Qt::AlignLeft; + QTest::newRow("line + two axes") << series << axes << alignment << line << value2 << true; -void tst_ChartDataSet::zoomOutDomain_data() -{ - zoomInDomain_data(); } -void tst_ChartDataSet::zoomOutDomain() +void tst_ChartDataSet::attachAxis() { - QFETCH(bool, sameAxis); - QFETCH(QList, seriesList); - - foreach (QAbstractSeries* series, seriesList) { - m_dataset->addSeries(series); - } + QFETCH(QList, series); + QFETCH(QList, axis); + QFETCH(QList, alignment); + QFETCH(QAbstractSeries*, attachSeries); + QFETCH(QAbstractAxis*, attachAxis); + QFETCH(bool, success); - if (sameAxis) - m_dataset->createDefaultAxes(); + Q_ASSERT(series.count() == axis.count()); + Q_ASSERT(series.count() == alignment.count()); - QList spyList; + QVERIFY(m_dataset->series().isEmpty()); + QVERIFY(m_dataset->axes().isEmpty()); - foreach (QAbstractSeries* series, seriesList) { - spyList << new QSignalSpy(m_dataset->domain(series), SIGNAL(updated())); + for(int i = 0 ; i < series.count() ; i++){ + if(series[i]) m_dataset->addSeries(series[i]); + if(axis[i]) m_dataset->addAxis(axis[i],alignment[i]); + if(series[i] && axis[i]) m_dataset->attachAxis(series[i],axis[i]); } - m_dataset->zoomOutDomain(QRect(0, 0, 100, 100), QSize(1000, 1000)); + QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*))); + QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*))); + QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*))); + QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*))); - foreach (QSignalSpy* spy, spyList) { - TRY_COMPARE(spy->count(), 1); - } + QCOMPARE(m_dataset->attachAxis(attachSeries,attachAxis),success); - qDeleteAll (spyList); } -void tst_ChartDataSet::scrollDomain_data() +void tst_ChartDataSet::detachAxis_data() { - zoomInDomain_data(); -} + QTest::addColumn >("series"); + QTest::addColumn >("axis"); + QTest::addColumn("detachSeries"); + QTest::addColumn("detachAxis"); + QTest::addColumn("success"); -void tst_ChartDataSet::scrollDomain() -{ - QFETCH(bool, sameAxis); - QFETCH(QList, seriesList); + QList series; + QList axes; - foreach (QAbstractSeries* series, seriesList) { - m_dataset->addSeries(series); - } + QAbstractSeries* line = new QLineSeries(this); + QAbstractAxis* value = new QValueAxis(this); - if (sameAxis) - m_dataset->createDefaultAxes(); + series << line; + axes << value; + QTest::newRow("line + axis") << series << axes << line << value << true; +} - QList spyList; +void tst_ChartDataSet::detachAxis() +{ + QFETCH(QList, series); + QFETCH(QList, axis); + QFETCH(QAbstractSeries*, detachSeries); + QFETCH(QAbstractAxis*, detachAxis); + QFETCH(bool, success); - foreach (QAbstractSeries* series, seriesList) { - spyList - << new QSignalSpy(m_dataset->domain(series), - SIGNAL(updated())); - } + Q_ASSERT(series.count() == axis.count()); - m_dataset->scrollDomain(10, 10, QSize(1000, 1000)); + QVERIFY(m_dataset->series().isEmpty()); + QVERIFY(m_dataset->axes().isEmpty()); - foreach (QSignalSpy* spy, spyList) { - TRY_COMPARE(spy->count(), 1); + for(int i = 0; i < series.count(); i++) { + if(series[i]) m_dataset->addSeries(series[i]); + if(axis[i]) m_dataset->addAxis(axis[i],Qt::AlignBottom); + if(series[i] && axis[i]) m_dataset->attachAxis(series[i],axis[i]); } - qDeleteAll(spyList); + QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*))); + QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*))); + QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*))); + QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*))); + + QCOMPARE(m_dataset->detachAxis(detachSeries,detachAxis),success); } QTEST_MAIN(tst_ChartDataSet) diff --git a/tests/auto/domain/tst_domain.cpp b/tests/auto/domain/tst_domain.cpp index 3e40463a..49807310 100644 --- a/tests/auto/domain/tst_domain.cpp +++ b/tests/auto/domain/tst_domain.cpp @@ -49,19 +49,19 @@ QTCOMMERCIALCHART_USE_NAMESPACE Q_DECLARE_METATYPE(Domain*) Q_DECLARE_METATYPE(QSizeF) +Q_DECLARE_METATYPE(QMargins) class AxisMock: public QAbstractAxisPrivate { Q_OBJECT public: - AxisMock(Qt::Orientation orientation):QAbstractAxisPrivate(0){ setOrientation(orientation);}; - ChartAxis* createGraphics(ChartPresenter* presenter) + AxisMock(Qt::Alignment alignment):QAbstractAxisPrivate(0){ setAlignment(alignment);}; + void initializeGraphics(QGraphicsItem* item) { - Q_UNUSED(presenter); - return 0; + Q_UNUSED(item); }; - void intializeDomain(Domain* domain) + void initializeDomain(Domain* domain) { Q_UNUSED(domain); }; @@ -81,6 +81,13 @@ public: Q_UNUSED(max); }; + void setRange(qreal min, qreal max) + { + m_min=min; + m_max=max; + emit rangeChanged(min,max); + }; + int count () const { return m_count; } void handleDomainUpdated(){}; @@ -102,10 +109,10 @@ public Q_SLOTS: private Q_SLOTS: void domain(); - void handleAxisUpdatedX_data(); - void handleAxisUpdatedX(); - void handleAxisUpdatedY_data(); - void handleAxisUpdatedY(); + void handleHorizontalAxisRangeChanged_data(); + void handleHorizontalAxisRangeChanged(); + void handleVerticalAxisRangeChanged_data(); + void handleVerticalAxisRangeChanged(); void isEmpty_data(); void isEmpty(); void maxX_data(); @@ -128,8 +135,10 @@ private Q_SLOTS: void spanX(); void spanY_data(); void spanY(); - void zoom_data(); - void zoom(); + void zoomIn_data(); + void zoomIn(); + void zoomOut_data(); + void zoomOut(); void move_data(); void move(); }; @@ -161,7 +170,7 @@ void tst_Domain::domain() QCOMPARE(domain.minY(), 0.0); } -void tst_Domain::handleAxisUpdatedX_data() +void tst_Domain::handleHorizontalAxisRangeChanged_data() { QTest::addColumn("min"); QTest::addColumn("max"); @@ -170,7 +179,7 @@ void tst_Domain::handleAxisUpdatedX_data() QTest::newRow("-1 0") << -1.0 << 0.0; } -void tst_Domain::handleAxisUpdatedX() +void tst_Domain::handleHorizontalAxisRangeChanged() { QFETCH(qreal, min); QFETCH(qreal, max); @@ -178,14 +187,12 @@ void tst_Domain::handleAxisUpdatedX() Domain domain; QSignalSpy spy0(&domain, SIGNAL(updated())); - QSignalSpy spy1(&domain, SIGNAL(rangeXChanged(qreal,qreal))); - QSignalSpy spy2(&domain, SIGNAL(rangeYChanged(qreal,qreal))); + QSignalSpy spy1(&domain, SIGNAL(rangeHorizontalChanged(qreal,qreal))); + QSignalSpy spy2(&domain, SIGNAL(rangeVerticalChanged(qreal,qreal))); - AxisMock axis(Qt::Horizontal); - QObject::connect(&axis,SIGNAL(updated()),&domain,SLOT(handleAxisUpdated())); - axis.m_min=min; - axis.m_max=max; - axis.emitUpdated(); + AxisMock axis(Qt::AlignBottom); + QObject::connect(&axis,SIGNAL(rangeChanged(qreal,qreal)),&domain,SLOT(handleHorizontalAxisRangeChanged(qreal,qreal))); + axis.setRange(min,max); QVERIFY(qFuzzyCompare(domain.minX(), min)); QVERIFY(qFuzzyCompare(domain.maxX(), max)); @@ -200,7 +207,7 @@ void tst_Domain::handleAxisUpdatedX() } -void tst_Domain::handleAxisUpdatedY_data() +void tst_Domain::handleVerticalAxisRangeChanged_data() { QTest::addColumn("min"); QTest::addColumn("max"); @@ -209,7 +216,7 @@ void tst_Domain::handleAxisUpdatedY_data() QTest::newRow("-1 0") << -1.0 << 0.0; } -void tst_Domain::handleAxisUpdatedY() +void tst_Domain::handleVerticalAxisRangeChanged() { QFETCH(qreal, min); QFETCH(qreal, max); @@ -217,14 +224,12 @@ void tst_Domain::handleAxisUpdatedY() Domain domain; QSignalSpy spy0(&domain, SIGNAL(updated())); - QSignalSpy spy1(&domain, SIGNAL(rangeXChanged(qreal,qreal))); - QSignalSpy spy2(&domain, SIGNAL(rangeYChanged(qreal,qreal))); + QSignalSpy spy1(&domain, SIGNAL(rangeHorizontalChanged(qreal,qreal))); + QSignalSpy spy2(&domain, SIGNAL(rangeVerticalChanged(qreal,qreal))); - AxisMock axis(Qt::Vertical); - QObject::connect(&axis, SIGNAL(updated()), &domain, SLOT(handleAxisUpdated())); - axis.m_min = min; - axis.m_max = max; - axis.emitUpdated(); + AxisMock axis(Qt::AlignLeft); + QObject::connect(&axis, SIGNAL(rangeChanged(qreal,qreal)), &domain, SLOT(handleVerticalAxisRangeChanged(qreal,qreal))); + axis.setRange(min,max); QVERIFY(qFuzzyCompare(domain.minY(), min)); QVERIFY(qFuzzyCompare(domain.maxY(), max)); @@ -244,11 +249,13 @@ void tst_Domain::isEmpty_data() QTest::addColumn("maxX"); QTest::addColumn("minY"); QTest::addColumn("maxY"); + QTest::addColumn("size"); QTest::addColumn("isEmpty"); - QTest::newRow("0 0 0 0") << 0.0 << 0.0 << 0.0 << 0.0 << true; - QTest::newRow("0 1 0 0") << 0.0 << 1.0 << 0.0 << 0.0 << true; - QTest::newRow("0 0 0 1") << 0.0 << 1.0 << 0.0 << 0.0 << true; - QTest::newRow("0 1 0 1") << 0.0 << 1.0 << 0.0 << 1.0 << false; + QTest::newRow("0 0 0 0") << 0.0 << 0.0 << 0.0 << 0.0 << QSizeF(1,1) << true; + QTest::newRow("0 1 0 0") << 0.0 << 1.0 << 0.0 << 0.0 << QSizeF(1,1) << true; + QTest::newRow("0 0 0 1") << 0.0 << 1.0 << 0.0 << 0.0 << QSizeF(1,1) << true; + QTest::newRow("0 1 0 1") << 0.0 << 1.0 << 0.0 << 1.0 << QSizeF(1,1) << false; + QTest::newRow("0 1 0 1") << 0.0 << 1.0 << 0.0 << 1.0 << QSizeF(-11,1) << true; } void tst_Domain::isEmpty() @@ -257,10 +264,12 @@ void tst_Domain::isEmpty() QFETCH(qreal, maxX); QFETCH(qreal, minY); QFETCH(qreal, maxY); + QFETCH(QSizeF, size); QFETCH(bool, isEmpty); Domain domain; domain.setRange(minX, maxX, minY, maxY); + domain.setSize(size); QCOMPARE(domain.isEmpty(), isEmpty); } @@ -283,8 +292,8 @@ void tst_Domain::maxX() Domain domain; QSignalSpy spy0(&domain, SIGNAL(updated())); - QSignalSpy spy1(&domain, SIGNAL(rangeXChanged(qreal,qreal))); - QSignalSpy spy2(&domain, SIGNAL(rangeYChanged(qreal,qreal))); + QSignalSpy spy1(&domain, SIGNAL(rangeHorizontalChanged(qreal,qreal))); + QSignalSpy spy2(&domain, SIGNAL(rangeVerticalChanged(qreal,qreal))); domain.setMaxX(maxX1); QCOMPARE(domain.maxX(), maxX1); @@ -316,8 +325,8 @@ void tst_Domain::maxY() Domain domain; QSignalSpy spy0(&domain, SIGNAL(updated())); - QSignalSpy spy1(&domain, SIGNAL(rangeXChanged(qreal,qreal))); - QSignalSpy spy2(&domain, SIGNAL(rangeYChanged(qreal,qreal))); + QSignalSpy spy1(&domain, SIGNAL(rangeHorizontalChanged(qreal,qreal))); + QSignalSpy spy2(&domain, SIGNAL(rangeVerticalChanged(qreal,qreal))); domain.setMaxY(maxY1); QCOMPARE(domain.maxY(), maxY1); @@ -348,8 +357,8 @@ void tst_Domain::minX() Domain domain; QSignalSpy spy0(&domain, SIGNAL(updated())); - QSignalSpy spy1(&domain, SIGNAL(rangeXChanged(qreal,qreal))); - QSignalSpy spy2(&domain, SIGNAL(rangeYChanged(qreal,qreal))); + QSignalSpy spy1(&domain, SIGNAL(rangeHorizontalChanged(qreal,qreal))); + QSignalSpy spy2(&domain, SIGNAL(rangeVerticalChanged(qreal,qreal))); domain.setMinX(minX1); QCOMPARE(domain.minX(), minX1); @@ -380,8 +389,8 @@ void tst_Domain::minY() Domain domain; QSignalSpy spy0(&domain, SIGNAL(updated())); - QSignalSpy spy1(&domain, SIGNAL(rangeXChanged(qreal,qreal))); - QSignalSpy spy2(&domain, SIGNAL(rangeYChanged(qreal,qreal))); + QSignalSpy spy1(&domain, SIGNAL(rangeHorizontalChanged(qreal,qreal))); + QSignalSpy spy2(&domain, SIGNAL(rangeVerticalChanged(qreal,qreal))); domain.setMinY(minY1); QCOMPARE(domain.minY(), minY1); @@ -430,8 +439,8 @@ void tst_Domain::operatorEquals() Domain domain; QSignalSpy spy0(&domain, SIGNAL(updated())); - QSignalSpy spy1(&domain, SIGNAL(rangeXChanged(qreal,qreal))); - QSignalSpy spy2(&domain, SIGNAL(rangeYChanged(qreal,qreal))); + QSignalSpy spy1(&domain, SIGNAL(rangeHorizontalChanged(qreal,qreal))); + QSignalSpy spy2(&domain, SIGNAL(rangeVerticalChanged(qreal,qreal))); QCOMPARE(*domain1==*domain2, equals); QCOMPARE(*domain1!=*domain2, notEquals); @@ -462,8 +471,8 @@ void tst_Domain::setRange() Domain domain; QSignalSpy spy0(&domain, SIGNAL(updated())); - QSignalSpy spy1(&domain, SIGNAL(rangeXChanged(qreal,qreal))); - QSignalSpy spy2(&domain, SIGNAL(rangeYChanged(qreal,qreal))); + QSignalSpy spy1(&domain, SIGNAL(rangeHorizontalChanged(qreal,qreal))); + QSignalSpy spy2(&domain, SIGNAL(rangeVerticalChanged(qreal,qreal))); domain.setRange(minX, maxX, minY, maxY); @@ -495,8 +504,8 @@ void tst_Domain::setRangeX() Domain domain; QSignalSpy spy0(&domain, SIGNAL(updated())); - QSignalSpy spy1(&domain, SIGNAL(rangeXChanged(qreal,qreal))); - QSignalSpy spy2(&domain, SIGNAL(rangeYChanged(qreal,qreal))); + QSignalSpy spy1(&domain, SIGNAL(rangeHorizontalChanged(qreal,qreal))); + QSignalSpy spy2(&domain, SIGNAL(rangeVerticalChanged(qreal,qreal))); domain.setRangeX(min, max); @@ -529,8 +538,8 @@ void tst_Domain::setRangeY() Domain domain; QSignalSpy spy0(&domain, SIGNAL(updated())); - QSignalSpy spy1(&domain, SIGNAL(rangeXChanged(qreal,qreal))); - QSignalSpy spy2(&domain, SIGNAL(rangeYChanged(qreal,qreal))); + QSignalSpy spy1(&domain, SIGNAL(rangeHorizontalChanged(qreal,qreal))); + QSignalSpy spy2(&domain, SIGNAL(rangeVerticalChanged(qreal,qreal))); domain.setRangeY(min, max); @@ -566,8 +575,8 @@ void tst_Domain::spanX() domain.setRangeX(minX, maxX); QSignalSpy spy0(&domain, SIGNAL(updated())); - QSignalSpy spy1(&domain, SIGNAL(rangeXChanged(qreal,qreal))); - QSignalSpy spy2(&domain, SIGNAL(rangeYChanged(qreal,qreal))); + QSignalSpy spy1(&domain, SIGNAL(rangeHorizontalChanged(qreal,qreal))); + QSignalSpy spy2(&domain, SIGNAL(rangeVerticalChanged(qreal,qreal))); QCOMPARE(domain.spanX(), spanX); @@ -596,8 +605,8 @@ void tst_Domain::spanY() domain.setRangeY(minY, maxY); QSignalSpy spy0(&domain, SIGNAL(updated())); - QSignalSpy spy1(&domain, SIGNAL(rangeXChanged(qreal,qreal))); - QSignalSpy spy2(&domain, SIGNAL(rangeYChanged(qreal,qreal))); + QSignalSpy spy1(&domain, SIGNAL(rangeHorizontalChanged(qreal,qreal))); + QSignalSpy spy2(&domain, SIGNAL(rangeVerticalChanged(qreal,qreal))); QCOMPARE(domain.spanY(), spanY); @@ -606,93 +615,123 @@ void tst_Domain::spanY() TRY_COMPARE(spy2.count(), 0); } -void tst_Domain::zoom_data() +void tst_Domain::zoomIn_data() { - QTest::addColumn("rect0"); - QTest::addColumn("size0"); - QTest::addColumn("rect1"); - QTest::addColumn("size1"); - QTest::addColumn("rect2"); - QTest::addColumn("size2"); - QTest::newRow("first") << QRectF(10, 10, 100, 100) << QSizeF(1000, 1000) - << QRectF(20, 20, 100, 100) << QSizeF(1000, 1000) << QRectF(50, 50, 100, 100) - << QSizeF(1000, 1000); - QTest::newRow("scound") << QRectF(10, 10, 50, 50) << QSizeF(1000, 1000) - << QRectF(20, 20, 100, 100) << QSizeF(1000, 1000) << QRectF(50, 50, 100, 100) - << QSizeF(1000, 1000); - QTest::newRow("third") << QRectF(10, 10, 10, 10) << QSizeF(100, 100) << QRectF(20, 20, 20, 20) - << QSizeF(100, 100) << QRectF(50, 50, 50, 50) << QSizeF(100, 100); + QTest::addColumn("range"); + QTest::addColumn("size"); + QTest::addColumn("zoom"); + QTest::addColumn("result"); + + QTest::newRow("first") << QMargins(0,0,1000,1000) << QSizeF(1000, 1000) << + QMargins(100, 100, 900, 900) << QMargins(100,100,900,900); + QTest::newRow("second") << QMargins(0,0,2000,2000) << QSizeF(1000, 1000) << + QMargins(100, 100, 900, 900) << QMargins(200,200,1800,1800); } -void tst_Domain::zoom() +void tst_Domain::zoomIn() { - QFETCH(QRectF, rect0); - QFETCH(QSizeF, size0); - QFETCH(QRectF, rect1); - QFETCH(QSizeF, size1); - QFETCH(QRectF, rect2); - QFETCH(QSizeF, size2); + QFETCH(QMargins, range); + QFETCH(QSizeF, size); + QFETCH(QMargins, zoom); + QFETCH(QMargins, result); Domain domain; + domain.setRange(range.left(), range.right(), range.top(),range.bottom()); + domain.setSize(size); + + QSignalSpy spy0(&domain, SIGNAL(updated())); + QSignalSpy spy1(&domain, SIGNAL(rangeHorizontalChanged(qreal,qreal))); + QSignalSpy spy2(&domain, SIGNAL(rangeVerticalChanged(qreal,qreal))); + + domain.zoomIn(QRectF(zoom.left(),zoom.top(),zoom.right()-zoom.left(),zoom.bottom()-zoom.top())); + + QCOMPARE(domain.minX(),qreal(result.left())); + QCOMPARE(domain.maxX(),qreal(result.right())); + QCOMPARE(domain.minY(),qreal(result.top())); + QCOMPARE(domain.maxY(),qreal(result.bottom())); + + TRY_COMPARE(spy0.count(), 1); + TRY_COMPARE(spy1.count(), 1); + TRY_COMPARE(spy2.count(), 1); +} + +void tst_Domain::zoomOut_data() +{ + QTest::addColumn("range"); + QTest::addColumn("size"); + QTest::addColumn("zoom"); + QTest::addColumn("result"); + + QTest::newRow("first") << QMargins(100,100,900,900) << QSizeF(1000, 1000) << + QMargins(100, 100, 900, 900) << QMargins(0,0,1000,1000); + QTest::newRow("second") << QMargins(200,200,1800,1800) << QSizeF(1000, 1000) << + QMargins(100, 100, 900, 900) << QMargins(0,0,2000,2000); +} + +void tst_Domain::zoomOut() +{ + QFETCH(QMargins, range); + QFETCH(QSizeF, size); + QFETCH(QMargins, zoom); + QFETCH(QMargins, result); - domain.setRange(0, 1000, 0, 1000); + Domain domain; + domain.setRange(range.left(), range.right(), range.top(),range.bottom()); + domain.setSize(size); QSignalSpy spy0(&domain, SIGNAL(updated())); - QSignalSpy spy1(&domain, SIGNAL(rangeXChanged(qreal,qreal))); - QSignalSpy spy2(&domain, SIGNAL(rangeYChanged(qreal,qreal))); - - Domain domain0; - domain0.setRange(domain.minX(), domain.maxX(), domain.minY(), domain.maxY()); - domain.zoomIn(rect0, size0); - Domain domain1; - domain1.setRange(domain.minX(), domain.maxX(), domain.minY(), domain.maxY()); - domain.zoomIn(rect1, size1); - Domain domain2; - domain2.setRange(domain.minX(), domain.maxX(), domain.minY(), domain.maxY()); - domain.zoomIn(rect2, size2); - domain.zoomOut(rect2, size2); - QCOMPARE(domain == domain2, true); - domain.zoomOut(rect1, size1); - QCOMPARE(domain == domain1, true); - domain.zoomOut(rect0, size0); - QCOMPARE(domain == domain0, true); - TRY_COMPARE(spy0.count(), 6); - TRY_COMPARE(spy1.count(), 6); - TRY_COMPARE(spy2.count(), 6); + QSignalSpy spy1(&domain, SIGNAL(rangeHorizontalChanged(qreal,qreal))); + QSignalSpy spy2(&domain, SIGNAL(rangeVerticalChanged(qreal,qreal))); + + domain.zoomOut(QRectF(zoom.left(),zoom.top(),zoom.right()-zoom.left(),zoom.bottom()-zoom.top())); + + QCOMPARE(domain.minX(),qreal(result.left())); + QCOMPARE(domain.maxX(),qreal(result.right())); + QCOMPARE(domain.minY(),qreal(result.top())); + QCOMPARE(domain.maxY(),qreal(result.bottom())); + + TRY_COMPARE(spy0.count(), 1); + TRY_COMPARE(spy1.count(), 1); + TRY_COMPARE(spy2.count(), 1); } void tst_Domain::move_data() { + QTest::addColumn("range"); + QTest::addColumn("size"); QTest::addColumn("dx"); QTest::addColumn("dy"); - QTest::addColumn("size"); - QTest::newRow("dx 100, dy 0, size 1000x1000") << 100 << 0 << QSizeF(1000, 1000); - QTest::newRow("dx 0, dy 100, size 1000x1000") << 0 << 100 << QSizeF(1000, 1000); - QTest::newRow("dx -100, dy 0, size 1000x1000") << -100 << 0 << QSizeF(1000, 1000); - QTest::newRow("dx 0, dy -100, size 1000x1000") << 0 << -100 << QSizeF(1000, 1000); - QTest::newRow("dx 100, dy 100, size 1000x1000") << 100 << 100 << QSizeF(1000, 1000); - QTest::newRow("dx 100, dy 50, size 1000x1000") << 100 << 50 << QSizeF(1000, 1000); + QTest::addColumn("result"); + + QTest::newRow("first") << QMargins(0,0,1000,1000) << QSizeF(1000, 1000) << + 10 << 10 << QMargins(10,10,1010,1010); + QTest::newRow("second") << QMargins(0,0,1000,1000) << QSizeF(1000, 1000) << + -10 << -10 << QMargins(-10,-10,990,990); } void tst_Domain::move() { + QFETCH(QMargins, range); + QFETCH(QSizeF, size); QFETCH(int, dx); QFETCH(int, dy); - QFETCH(QSizeF, size); - Domain domain; + QFETCH(QMargins, result); - domain.setRange(0, size.width(), 0, size.height()); + Domain domain; + domain.setRange(range.left(), range.right(), range.top(),range.bottom()); + domain.setSize(size); QSignalSpy spy0(&domain, SIGNAL(updated())); - QSignalSpy spy1(&domain, SIGNAL(rangeXChanged(qreal,qreal))); - QSignalSpy spy2(&domain, SIGNAL(rangeYChanged(qreal,qreal))); + QSignalSpy spy1(&domain, SIGNAL(rangeHorizontalChanged(qreal,qreal))); + QSignalSpy spy2(&domain, SIGNAL(rangeVerticalChanged(qreal,qreal))); - domain.move(dx, dy, size); + domain.move(dx, dy); - Domain result; - result.setRange(dx, size.width() + dx, dy, size.height() + dy); + QCOMPARE(domain.minX(),qreal(result.left())); + QCOMPARE(domain.maxX(),qreal(result.right())); + QCOMPARE(domain.minY(),qreal(result.top())); + QCOMPARE(domain.maxY(),qreal(result.bottom())); - QCOMPARE(domain == result, true); TRY_COMPARE(spy0.count(), 1); TRY_COMPARE(spy1.count(), (dx != 0 ? 1 : 0)); TRY_COMPARE(spy2.count(), (dy != 0 ? 1 : 0)); diff --git a/tests/auto/qabstractaxis/tst_qabstractaxis.cpp b/tests/auto/qabstractaxis/tst_qabstractaxis.cpp index 6807ed4c..a3c618de 100644 --- a/tests/auto/qabstractaxis/tst_qabstractaxis.cpp +++ b/tests/auto/qabstractaxis/tst_qabstractaxis.cpp @@ -106,7 +106,7 @@ void tst_QAbstractAxis::axisPen() QSignalSpy spy0(m_axis, SIGNAL(lineVisibleChanged(bool))); QSignalSpy spy1(m_axis, SIGNAL(colorChanged(QColor))); - QSignalSpy spy2(m_axis, SIGNAL(gridVisibleChanged(bool))); + QSignalSpy spy2(m_axis, SIGNAL(gridLineVisibleChanged(bool))); QSignalSpy spy3(m_axis, SIGNAL(labelsColorChanged(QColor))); QSignalSpy spy4(m_axis, SIGNAL(labelsVisibleChanged(bool))); QSignalSpy spy5(m_axis, SIGNAL(shadesBorderColorChanged(QColor))); @@ -159,7 +159,7 @@ void tst_QAbstractAxis::gridLinePen() QSignalSpy spy0(m_axis, SIGNAL(lineVisibleChanged(bool))); QSignalSpy spy1(m_axis, SIGNAL(colorChanged(QColor))); - QSignalSpy spy2(m_axis, SIGNAL(gridVisibleChanged(bool))); + QSignalSpy spy2(m_axis, SIGNAL(gridLineVisibleChanged(bool))); QSignalSpy spy3(m_axis, SIGNAL(labelsColorChanged(QColor))); QSignalSpy spy4(m_axis, SIGNAL(labelsVisibleChanged(bool))); QSignalSpy spy5(m_axis, SIGNAL(shadesBorderColorChanged(QColor))); @@ -201,7 +201,7 @@ void tst_QAbstractAxis::lineVisible() QSignalSpy spy0(m_axis, SIGNAL(lineVisibleChanged(bool))); QSignalSpy spy1(m_axis, SIGNAL(colorChanged(QColor))); - QSignalSpy spy2(m_axis, SIGNAL(gridVisibleChanged(bool))); + QSignalSpy spy2(m_axis, SIGNAL(gridLineVisibleChanged(bool))); QSignalSpy spy3(m_axis, SIGNAL(labelsColorChanged(QColor))); QSignalSpy spy4(m_axis, SIGNAL(labelsVisibleChanged(bool))); QSignalSpy spy5(m_axis, SIGNAL(shadesBorderColorChanged(QColor))); @@ -243,7 +243,7 @@ void tst_QAbstractAxis::gridLineVisible() QSignalSpy spy0(m_axis, SIGNAL(lineVisibleChanged(bool))); QSignalSpy spy1(m_axis, SIGNAL(colorChanged(QColor))); - QSignalSpy spy2(m_axis, SIGNAL(gridVisibleChanged(bool))); + QSignalSpy spy2(m_axis, SIGNAL(gridLineVisibleChanged(bool))); QSignalSpy spy3(m_axis, SIGNAL(labelsColorChanged(QColor))); QSignalSpy spy4(m_axis, SIGNAL(labelsVisibleChanged(bool))); QSignalSpy spy5(m_axis, SIGNAL(shadesBorderColorChanged(QColor))); @@ -286,7 +286,7 @@ void tst_QAbstractAxis::visible() QSignalSpy spy0(m_axis, SIGNAL(lineVisibleChanged(bool))); QSignalSpy spy1(m_axis, SIGNAL(colorChanged(QColor))); - QSignalSpy spy2(m_axis, SIGNAL(gridVisibleChanged(bool))); + QSignalSpy spy2(m_axis, SIGNAL(gridLineVisibleChanged(bool))); QSignalSpy spy3(m_axis, SIGNAL(labelsColorChanged(QColor))); QSignalSpy spy4(m_axis, SIGNAL(labelsVisibleChanged(bool))); QSignalSpy spy5(m_axis, SIGNAL(shadesBorderColorChanged(QColor))); @@ -327,7 +327,7 @@ void tst_QAbstractAxis::labelsAngle() QSignalSpy spy0(m_axis, SIGNAL(lineVisibleChanged(bool))); QSignalSpy spy1(m_axis, SIGNAL(colorChanged(QColor))); - QSignalSpy spy2(m_axis, SIGNAL(gridVisibleChanged(bool))); + QSignalSpy spy2(m_axis, SIGNAL(gridLineVisibleChanged(bool))); QSignalSpy spy3(m_axis, SIGNAL(labelsColorChanged(QColor))); QSignalSpy spy4(m_axis, SIGNAL(labelsVisibleChanged(bool))); QSignalSpy spy5(m_axis, SIGNAL(shadesBorderColorChanged(QColor))); @@ -370,7 +370,7 @@ void tst_QAbstractAxis::labelsBrush() QSignalSpy spy0(m_axis, SIGNAL(lineVisibleChanged(bool))); QSignalSpy spy1(m_axis, SIGNAL(colorChanged(QColor))); - QSignalSpy spy2(m_axis, SIGNAL(gridVisibleChanged(bool))); + QSignalSpy spy2(m_axis, SIGNAL(gridLineVisibleChanged(bool))); QSignalSpy spy3(m_axis, SIGNAL(labelsColorChanged(QColor))); QSignalSpy spy4(m_axis, SIGNAL(labelsVisibleChanged(bool))); QSignalSpy spy5(m_axis, SIGNAL(shadesBorderColorChanged(QColor))); @@ -421,7 +421,7 @@ void tst_QAbstractAxis::labelsFont() QSignalSpy spy0(m_axis, SIGNAL(lineVisibleChanged(bool))); QSignalSpy spy1(m_axis, SIGNAL(colorChanged(QColor))); - QSignalSpy spy2(m_axis, SIGNAL(gridVisibleChanged(bool))); + QSignalSpy spy2(m_axis, SIGNAL(gridLineVisibleChanged(bool))); QSignalSpy spy3(m_axis, SIGNAL(labelsColorChanged(QColor))); QSignalSpy spy4(m_axis, SIGNAL(labelsVisibleChanged(bool))); QSignalSpy spy5(m_axis, SIGNAL(shadesBorderColorChanged(QColor))); @@ -463,7 +463,7 @@ void tst_QAbstractAxis::labelsPen() QSignalSpy spy0(m_axis, SIGNAL(lineVisibleChanged(bool))); QSignalSpy spy1(m_axis, SIGNAL(colorChanged(QColor))); - QSignalSpy spy2(m_axis, SIGNAL(gridVisibleChanged(bool))); + QSignalSpy spy2(m_axis, SIGNAL(gridLineVisibleChanged(bool))); QSignalSpy spy3(m_axis, SIGNAL(labelsColorChanged(QColor))); QSignalSpy spy4(m_axis, SIGNAL(labelsVisibleChanged(bool))); QSignalSpy spy5(m_axis, SIGNAL(shadesBorderColorChanged(QColor))); @@ -505,7 +505,7 @@ void tst_QAbstractAxis::labelsVisible() QSignalSpy spy0(m_axis, SIGNAL(lineVisibleChanged(bool))); QSignalSpy spy1(m_axis, SIGNAL(colorChanged(QColor))); - QSignalSpy spy2(m_axis, SIGNAL(gridVisibleChanged(bool))); + QSignalSpy spy2(m_axis, SIGNAL(gridLineVisibleChanged(bool))); QSignalSpy spy3(m_axis, SIGNAL(labelsColorChanged(QColor))); QSignalSpy spy4(m_axis, SIGNAL(labelsVisibleChanged(bool))); QSignalSpy spy5(m_axis, SIGNAL(shadesBorderColorChanged(QColor))); @@ -545,7 +545,7 @@ void tst_QAbstractAxis::orientation() QSignalSpy spy0(m_axis, SIGNAL(lineVisibleChanged(bool))); QSignalSpy spy1(m_axis, SIGNAL(colorChanged(QColor))); - QSignalSpy spy2(m_axis, SIGNAL(gridVisibleChanged(bool))); + QSignalSpy spy2(m_axis, SIGNAL(gridLineVisibleChanged(bool))); QSignalSpy spy3(m_axis, SIGNAL(labelsColorChanged(QColor))); QSignalSpy spy4(m_axis, SIGNAL(labelsVisibleChanged(bool))); QSignalSpy spy5(m_axis, SIGNAL(shadesBorderColorChanged(QColor))); @@ -646,7 +646,7 @@ void tst_QAbstractAxis::shadesBrush() QSignalSpy spy0(m_axis, SIGNAL(lineVisibleChanged(bool))); QSignalSpy spy1(m_axis, SIGNAL(colorChanged(QColor))); - QSignalSpy spy2(m_axis, SIGNAL(gridVisibleChanged(bool))); + QSignalSpy spy2(m_axis, SIGNAL(gridLineVisibleChanged(bool))); QSignalSpy spy3(m_axis, SIGNAL(labelsColorChanged(QColor))); QSignalSpy spy4(m_axis, SIGNAL(labelsVisibleChanged(bool))); QSignalSpy spy5(m_axis, SIGNAL(shadesBorderColorChanged(QColor))); @@ -697,7 +697,7 @@ void tst_QAbstractAxis::shadesPen() QSignalSpy spy0(m_axis, SIGNAL(lineVisibleChanged(bool))); QSignalSpy spy1(m_axis, SIGNAL(colorChanged(QColor))); - QSignalSpy spy2(m_axis, SIGNAL(gridVisibleChanged(bool))); + QSignalSpy spy2(m_axis, SIGNAL(gridLineVisibleChanged(bool))); QSignalSpy spy3(m_axis, SIGNAL(labelsColorChanged(QColor))); QSignalSpy spy4(m_axis, SIGNAL(labelsVisibleChanged(bool))); QSignalSpy spy5(m_axis, SIGNAL(shadesBorderColorChanged(QColor))); @@ -739,7 +739,7 @@ void tst_QAbstractAxis::shadesVisible() QSignalSpy spy0(m_axis, SIGNAL(lineVisibleChanged(bool))); QSignalSpy spy1(m_axis, SIGNAL(colorChanged(QColor))); - QSignalSpy spy2(m_axis, SIGNAL(gridVisibleChanged(bool))); + QSignalSpy spy2(m_axis, SIGNAL(gridLineVisibleChanged(bool))); QSignalSpy spy3(m_axis, SIGNAL(labelsColorChanged(QColor))); QSignalSpy spy4(m_axis, SIGNAL(labelsVisibleChanged(bool))); QSignalSpy spy5(m_axis, SIGNAL(shadesBorderColorChanged(QColor))); @@ -778,7 +778,7 @@ void tst_QAbstractAxis::show() QSignalSpy spy0(m_axis, SIGNAL(lineVisibleChanged(bool))); QSignalSpy spy1(m_axis, SIGNAL(colorChanged(QColor))); - QSignalSpy spy2(m_axis, SIGNAL(gridVisibleChanged(bool))); + QSignalSpy spy2(m_axis, SIGNAL(gridLineVisibleChanged(bool))); QSignalSpy spy3(m_axis, SIGNAL(labelsColorChanged(QColor))); QSignalSpy spy4(m_axis, SIGNAL(labelsVisibleChanged(bool))); QSignalSpy spy5(m_axis, SIGNAL(shadesBorderColorChanged(QColor))); @@ -812,7 +812,7 @@ void tst_QAbstractAxis::hide() QSignalSpy spy0(m_axis, SIGNAL(lineVisibleChanged(bool))); QSignalSpy spy1(m_axis, SIGNAL(colorChanged(QColor))); - QSignalSpy spy2(m_axis, SIGNAL(gridVisibleChanged(bool))); + QSignalSpy spy2(m_axis, SIGNAL(gridLineVisibleChanged(bool))); QSignalSpy spy3(m_axis, SIGNAL(labelsColorChanged(QColor))); QSignalSpy spy4(m_axis, SIGNAL(labelsVisibleChanged(bool))); QSignalSpy spy5(m_axis, SIGNAL(shadesBorderColorChanged(QColor))); diff --git a/tests/auto/qvalueaxis/tst_qvalueaxis.cpp b/tests/auto/qvalueaxis/tst_qvalueaxis.cpp index 2030e86c..6d310397 100644 --- a/tests/auto/qvalueaxis/tst_qvalueaxis.cpp +++ b/tests/auto/qvalueaxis/tst_qvalueaxis.cpp @@ -47,8 +47,8 @@ private slots: void min(); void min_animation_data(); void min_animation(); - void niceNumbersEnabled_data(); - void niceNumbersEnabled(); + void applyNiceNumbers_data(); + void applyNiceNumbers(); void range_raw_data(); void range_raw(); void range_data(); @@ -215,7 +215,7 @@ void tst_QValueAxis::min_animation() min(); } -void tst_QValueAxis::niceNumbersEnabled_data() +void tst_QValueAxis::applyNiceNumbers_data() { QTest::addColumn("niceNumbersEnabled"); QTest::addColumn("min"); @@ -232,7 +232,7 @@ void tst_QValueAxis::niceNumbersEnabled_data() QTest::newRow("true 5, 93.5 , 5") << true << (qreal)5.0 << (qreal)93.5 << 5 << (qreal)0.0 << (qreal)100.0 << 6; } -void tst_QValueAxis::niceNumbersEnabled() +void tst_QValueAxis::applyNiceNumbers() { QFETCH(bool, niceNumbersEnabled); QFETCH(qreal, min); @@ -252,8 +252,7 @@ void tst_QValueAxis::niceNumbersEnabled() QSignalSpy spy1(m_valuesaxis, SIGNAL(minChanged(qreal))); QSignalSpy spy2(m_valuesaxis, SIGNAL(rangeChanged(qreal,qreal))); - m_valuesaxis->setNiceNumbersEnabled(niceNumbersEnabled); - QCOMPARE(m_valuesaxis->niceNumbersEnabled(), niceNumbersEnabled); + if(niceNumbersEnabled) m_valuesaxis->applyNiceNumbers(); if(!qFuzzyCompare(expectedMin, min)) QCOMPARE(spy1.count(), 1); -- cgit v1.2.3