summaryrefslogtreecommitdiffstats
path: root/tests/auto
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@digia.com>2013-01-21 12:41:15 +0100
committerMichal Klocek <michal.klocek@digia.com>2013-01-21 12:42:28 +0100
commitf065af9daaed390dc22627246a14d5bcac7b8836 (patch)
tree1a996fb7822f74a82594c238dc39061492996418 /tests/auto
parentd108889b4c996d187750689e0a8a76d3deee3e37 (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.cpp80
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"