diff options
author | Michal Klocek <michal.klocek@digia.com> | 2013-01-21 12:41:15 +0100 |
---|---|---|
committer | Michal Klocek <michal.klocek@digia.com> | 2013-01-21 12:42:28 +0100 |
commit | f065af9daaed390dc22627246a14d5bcac7b8836 (patch) | |
tree | 1a996fb7822f74a82594c238dc39061492996418 /tests/auto | |
parent | d108889b4c996d187750689e0a8a76d3deee3e37 (diff) |
adds Andy's customer request, first call to createDaultAxis scales whole domain (if on common axis)
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/qchart/tst_qchart.cpp | 80 |
1 files changed, 79 insertions, 1 deletions
diff --git a/tests/auto/qchart/tst_qchart.cpp b/tests/auto/qchart/tst_qchart.cpp index 5fa266fd..5acc3a06 100644 --- a/tests/auto/qchart/tst_qchart.cpp +++ b/tests/auto/qchart/tst_qchart.cpp @@ -99,7 +99,8 @@ private slots: void zoomIn(); void zoomOut_data(); void zoomOut(); - + void createDefaultAxesForLineSeries_data(); + void createDefaultAxesForLineSeries(); private: void createTestData(); @@ -793,6 +794,83 @@ void tst_QChart::zoomOut() } +void tst_QChart::createDefaultAxesForLineSeries_data() +{ + QTest::addColumn<qreal>("series1minX"); + QTest::addColumn<qreal>("series1midX"); + QTest::addColumn<qreal>("series1maxX"); + QTest::addColumn<qreal>("series2minX"); + QTest::addColumn<qreal>("series2midX"); + QTest::addColumn<qreal>("series2maxX"); + QTest::addColumn<qreal>("overallminX"); + QTest::addColumn<qreal>("overallmaxX"); + QTest::addColumn<qreal>("series1minY"); + QTest::addColumn<qreal>("series1midY"); + QTest::addColumn<qreal>("series1maxY"); + QTest::addColumn<qreal>("series2minY"); + QTest::addColumn<qreal>("series2midY"); + QTest::addColumn<qreal>("series2maxY"); + QTest::addColumn<qreal>("overallminY"); + QTest::addColumn<qreal>("overallmaxY"); + QTest::newRow("series1hasMinAndMax") << (qreal)1.0 << (qreal)2.0 << (qreal)3.0 << (qreal)1.1 << (qreal)1.7 << (qreal)2.9 << (qreal)1.0 << (qreal)3.0 + << (qreal)1.0 << (qreal)2.0 << (qreal)3.0 << (qreal)1.1 << (qreal)1.7 << (qreal)2.9 << (qreal)1.0 << (qreal)3.0; + QTest::newRow("series2hasMinAndMax") << (qreal)1.1 << (qreal)2.0 << (qreal)2.9 << (qreal)1.0 << (qreal)1.7 << (qreal)3.0 << (qreal)1.0 << (qreal)3.0 + << (qreal)1.1 << (qreal)2.0 << (qreal)2.9 << (qreal)1.0 << (qreal)1.7 << (qreal)3.0 << (qreal)1.0 << (qreal)3.0; + QTest::newRow("series1hasMinAndMaxX_series2hasMinAndMaxY") << (qreal)1.0 << (qreal)2.0 << (qreal)3.0 << (qreal)1.1 << (qreal)1.7 << (qreal)2.9 << (qreal)1.0 << (qreal)3.0 + << (qreal)1.1 << (qreal)2.0 << (qreal)2.9 << (qreal)1.0 << (qreal)2.0 << (qreal)3.0 << (qreal)1.0 << (qreal)3.0; + QTest::newRow("series1hasMin_series2hasMax") << (qreal)1.0 << (qreal)2.0 << (qreal)2.9 << (qreal)1.1 << (qreal)1.7 << (qreal)3.0 << (qreal)1.0 << (qreal)3.0 + << (qreal)1.0 << (qreal)2.0 << (qreal)2.9 << (qreal)1.1 << (qreal)1.7 << (qreal)3.0 << (qreal)1.0 << (qreal)3.0; +} + +void tst_QChart::createDefaultAxesForLineSeries() +{ + QFETCH(qreal, series1minX); + QFETCH(qreal, series1midX); + QFETCH(qreal, series1maxX); + QFETCH(qreal, series2minX); + QFETCH(qreal, series2midX); + QFETCH(qreal, series2maxX); + QFETCH(qreal, series1minY); + QFETCH(qreal, series1midY); + QFETCH(qreal, series1maxY); + QFETCH(qreal, series2minY); + QFETCH(qreal, series2midY); + QFETCH(qreal, series2maxY); + QFETCH(qreal, overallminX); + QFETCH(qreal, overallmaxX); + QFETCH(qreal, overallminY); + QFETCH(qreal, overallmaxY); + QLineSeries* series1 = new QLineSeries(this); + series1->append(series1minX, series1minY); + series1->append(series1midX, series1midY); + series1->append(series1maxX, series1maxY); + QLineSeries* series2 = new QLineSeries(this); + series2->append(series2minX, series2minY); + series2->append(series2midX, series2midY); + series2->append(series2maxX, series2maxY); + QChart chart; + chart.addSeries(series1); + chart.addSeries(series2); + chart.createDefaultAxes(); + QValueAxis *xAxis = (QValueAxis *)chart.axisX(); + QCOMPARE(xAxis->min(), overallminX); + QCOMPARE(xAxis->max(), overallmaxX); + QValueAxis *yAxis = (QValueAxis *)chart.axisY(); + QCOMPARE(yAxis->min(), overallminY); + QCOMPARE(yAxis->max(), overallmaxY); + QLineSeries *series3 = new QLineSeries(this); + // Numbers clearly out of existing range + series3->append(0, 0); + series3->append(100, 100); + // Adding a new series should not change the axes as they have not been told to update + chart.addSeries(series3); + QCOMPARE(xAxis->min(), overallminX); + QCOMPARE(xAxis->max(), overallmaxX); + QCOMPARE(yAxis->min(), overallminY); + QCOMPARE(yAxis->max(), overallmaxY); + +} + QTEST_MAIN(tst_QChart) #include "tst_qchart.moc" |