| /**************************************************************************** |
| ** |
| ** Copyright (C) 2016 The Qt Company Ltd. |
| ** Contact: https://www.qt.io/licensing/ |
| ** |
| ** This file is part of the Qt Charts module of the Qt Toolkit. |
| ** |
| ** $QT_BEGIN_LICENSE:GPL$ |
| ** Commercial License Usage |
| ** Licensees holding valid commercial Qt licenses may use this file in |
| ** accordance with the commercial license agreement provided with the |
| ** Software or, alternatively, in accordance with the terms contained in |
| ** a written agreement between you and The Qt Company. For licensing terms |
| ** and conditions see https://www.qt.io/terms-conditions. For further |
| ** information use the contact form at https://www.qt.io/contact-us. |
| ** |
| ** GNU General Public License Usage |
| ** Alternatively, this file may be used under the terms of the GNU |
| ** General Public License version 3 or (at your option) any later version |
| ** approved by the KDE Free Qt Foundation. The licenses are as published by |
| ** the Free Software Foundation and appearing in the file LICENSE.GPL3 |
| ** included in the packaging of this file. Please review the following |
| ** information to ensure the GNU General Public License requirements will |
| ** be met: https://www.gnu.org/licenses/gpl-3.0.html. |
| ** |
| ** $QT_END_LICENSE$ |
| ** |
| ****************************************************************************/ |
| |
| import QtQuick 2.0 |
| import QtTest 1.0 |
| import QtCharts 1.2 |
| |
| Rectangle { |
| width: 400 |
| height: 300 |
| |
| TestCase { |
| id: tc1 |
| name: "tst_qml-qtquicktest XY Series 1.2" |
| when: windowShown |
| |
| function test_properties() { |
| verify(lineSeries.color != undefined); |
| compare(lineSeries.pointsVisible, false); |
| compare(lineSeries.capStyle, Qt.SquareCap); |
| compare(lineSeries.style, Qt.SolidLine); |
| compare(lineSeries.width, 2.0); |
| |
| verify(splineSeries.color != undefined); |
| compare(splineSeries.pointsVisible, false); |
| compare(splineSeries.capStyle, Qt.SquareCap); |
| compare(splineSeries.style, Qt.SolidLine); |
| compare(splineSeries.width, 2.0); |
| |
| verify(scatterSeries.color != undefined); |
| verify(scatterSeries.borderColor != undefined); |
| compare(scatterSeries.borderWidth, 2.0); |
| compare(scatterSeries.markerShape, ScatterSeries.MarkerShapeCircle); |
| compare(scatterSeries.markerSize, 15.0); |
| |
| verify(areaSeries.color != undefined); |
| verify(areaSeries.borderColor != undefined); |
| compare(areaSeries.borderWidth, 2.0); |
| } |
| |
| function test_axes() { |
| // Axis initialization |
| compare(chartView.axisX(), lineSeries.axisX); |
| compare(chartView.axisY(), lineSeries.axisY); |
| compare(lineSeries.axisX, splineSeries.axisX); |
| compare(lineSeries.axisY, splineSeries.axisY); |
| compare(lineSeries.axisX, areaSeries.axisX); |
| compare(lineSeries.axisY, areaSeries.axisY); |
| } |
| |
| function test_append() { |
| lineSeriesPointAddedSpy.clear(); |
| splineSeriesPointAddedSpy.clear(); |
| scatterSeriesPointAddedSpy.clear(); |
| var count = append(); |
| compare(lineSeries.count, count); |
| compare(splineSeries.count, count); |
| compare(scatterSeries.count, count); |
| compare(lineSeriesPointAddedSpy.count, count); |
| compare(splineSeriesPointAddedSpy.count, count); |
| compare(scatterSeriesPointAddedSpy.count, count); |
| clear(); |
| compare(lineSeries.count, 0); |
| compare(splineSeries.count, 0); |
| compare(scatterSeries.count, 0); |
| } |
| |
| function test_replace() { |
| var count = append(); |
| for (var i = 0; i < count; i++) { |
| lineSeries.replace(lineSeries.at(i).x, lineSeries.at(i).y, i, Math.random()); |
| splineSeries.replace(splineSeries.at(i).x, splineSeries.at(i).y, i, Math.random()); |
| scatterSeries.replace(scatterSeries.at(i).x, scatterSeries.at(i).y, i, Math.random()); |
| } |
| compare(lineSeries.count, count); |
| compare(splineSeries.count, count); |
| compare(scatterSeries.count, count); |
| compare(lineSeriesPointReplacedSpy.count, count); |
| compare(splineSeriesPointReplacedSpy.count, count); |
| compare(scatterSeriesPointReplacedSpy.count, count); |
| clear(); |
| } |
| |
| function test_insert() { |
| var count = append(); |
| lineSeriesPointAddedSpy.clear(); |
| splineSeriesPointAddedSpy.clear(); |
| scatterSeriesPointAddedSpy.clear(); |
| for (var i = 0; i < count; i++) { |
| lineSeries.insert(i * 2, i, Math.random()); |
| splineSeries.insert(i * 2, i, Math.random()); |
| scatterSeries.insert(i * 2, i, Math.random()); |
| } |
| compare(lineSeries.count, count * 2); |
| compare(splineSeries.count, count * 2); |
| compare(scatterSeries.count, count * 2); |
| compare(lineSeriesPointAddedSpy.count, count); |
| compare(splineSeriesPointAddedSpy.count, count); |
| compare(scatterSeriesPointAddedSpy.count, count); |
| clear(); |
| } |
| |
| function test_remove() { |
| lineSeriesPointRemovedSpy.clear(); |
| splineSeriesPointRemovedSpy.clear(); |
| scatterSeriesPointRemovedSpy.clear(); |
| var count = append(); |
| for (var i = 0; i < count; i++) { |
| lineSeries.remove(lineSeries.at(0).x, lineSeries.at(0).y); |
| splineSeries.remove(splineSeries.at(0).x, splineSeries.at(0).y); |
| scatterSeries.remove(scatterSeries.at(0).x, scatterSeries.at(0).y); |
| } |
| compare(lineSeries.count, 0); |
| compare(splineSeries.count, 0); |
| compare(scatterSeries.count, 0); |
| compare(lineSeriesPointRemovedSpy.count, count); |
| compare(splineSeriesPointRemovedSpy.count, count); |
| compare(scatterSeriesPointRemovedSpy.count, count); |
| } |
| |
| // Not a test function, called from test functions |
| function append() { |
| var count = 100; |
| chartView.axisX().min = 0; |
| chartView.axisX().max = 100; |
| chartView.axisY().min = 0; |
| chartView.axisY().max = 1; |
| |
| for (var i = 0; i < count; i++) { |
| lineSeries.append(i, Math.random()); |
| splineSeries.append(i, Math.random()); |
| scatterSeries.append(i, Math.random()); |
| } |
| |
| return count; |
| } |
| |
| // Not a test function, called from test functions |
| function clear() { |
| lineSeries.clear(); |
| splineSeries.clear(); |
| scatterSeries.clear(); |
| } |
| } |
| |
| ChartView { |
| id: chartView |
| anchors.fill: parent |
| |
| LineSeries { |
| id: lineSeries |
| name: "line" |
| |
| SignalSpy { |
| id: lineSeriesPointAddedSpy |
| target: lineSeries |
| signalName: "pointAdded" |
| } |
| |
| SignalSpy { |
| id: lineSeriesPointReplacedSpy |
| target: lineSeries |
| signalName: "pointReplaced" |
| } |
| |
| SignalSpy { |
| id: lineSeriesPointsReplacedSpy |
| target: lineSeries |
| signalName: "pointsReplaced" |
| } |
| |
| SignalSpy { |
| id: lineSeriesPointRemovedSpy |
| target: lineSeries |
| signalName: "pointRemoved" |
| } |
| } |
| |
| AreaSeries { |
| id: areaSeries |
| name: "area" |
| upperSeries: lineSeries |
| } |
| |
| SplineSeries { |
| id: splineSeries |
| name: "spline" |
| |
| SignalSpy { |
| id: splineSeriesPointAddedSpy |
| target: splineSeries |
| signalName: "pointAdded" |
| } |
| |
| SignalSpy { |
| id: splineSeriesPointReplacedSpy |
| target: splineSeries |
| signalName: "pointReplaced" |
| } |
| |
| SignalSpy { |
| id: splineSeriesPointsReplacedSpy |
| target: splineSeries |
| signalName: "pointsReplaced" |
| } |
| |
| SignalSpy { |
| id: splineSeriesPointRemovedSpy |
| target: splineSeries |
| signalName: "pointRemoved" |
| } |
| } |
| |
| ScatterSeries { |
| id: scatterSeries |
| name: "scatter" |
| |
| SignalSpy { |
| id: scatterSeriesPointAddedSpy |
| target: scatterSeries |
| signalName: "pointAdded" |
| } |
| |
| SignalSpy { |
| id: scatterSeriesPointReplacedSpy |
| target: scatterSeries |
| signalName: "pointReplaced" |
| } |
| |
| SignalSpy { |
| id: scatterSeriesPointsReplacedSpy |
| target: scatterSeries |
| signalName: "pointsReplaced" |
| } |
| |
| SignalSpy { |
| id: scatterSeriesPointRemovedSpy |
| target: scatterSeries |
| signalName: "pointRemoved" |
| } |
| } |
| } |
| } |