##// END OF EJS Templates
Chartdataset fixes + tst update
Michal Klocek -
r1567:b9dcdbcfffe6
parent child
Show More
@@ -1,314 +1,314
1 /****************************************************************************
1 /****************************************************************************
2 **
2 **
3 ** Copyright (C) 2012 Digia Plc
3 ** Copyright (C) 2012 Digia Plc
4 ** All rights reserved.
4 ** All rights reserved.
5 ** For any questions to Digia, please use contact form at http://qt.digia.com
5 ** For any questions to Digia, please use contact form at http://qt.digia.com
6 **
6 **
7 ** This file is part of the Qt Commercial Charts Add-on.
7 ** This file is part of the Qt Commercial Charts Add-on.
8 **
8 **
9 ** $QT_BEGIN_LICENSE$
9 ** $QT_BEGIN_LICENSE$
10 ** Licensees holding valid Qt Commercial licenses may use this file in
10 ** Licensees holding valid Qt Commercial licenses may use this file in
11 ** accordance with the Qt Commercial License Agreement provided with the
11 ** accordance with the Qt Commercial License Agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and Digia.
13 ** a written agreement between you and Digia.
14 **
14 **
15 ** If you have questions regarding the use of this file, please use
15 ** If you have questions regarding the use of this file, please use
16 ** contact form at http://qt.digia.com
16 ** contact form at http://qt.digia.com
17 ** $QT_END_LICENSE$
17 ** $QT_END_LICENSE$
18 **
18 **
19 ****************************************************************************/
19 ****************************************************************************/
20
20
21 #include "chartdataset_p.h"
21 #include "chartdataset_p.h"
22 #include "qchart.h"
22 #include "qchart.h"
23 #include "qvaluesaxis.h"
23 #include "qvaluesaxis.h"
24 #include "qvaluesaxis_p.h"
24 #include "qvaluesaxis_p.h"
25 #include "qabstractseries_p.h"
25 #include "qabstractseries_p.h"
26 #include "qbarseries.h"
26 #include "qbarseries.h"
27 #include "qstackedbarseries.h"
27 #include "qstackedbarseries.h"
28 #include "qpercentbarseries.h"
28 #include "qpercentbarseries.h"
29 #include "qpieseries.h"
29 #include "qpieseries.h"
30
30
31 QTCOMMERCIALCHART_BEGIN_NAMESPACE
31 QTCOMMERCIALCHART_BEGIN_NAMESPACE
32
32
33 ChartDataSet::ChartDataSet(QChart *parent):QObject(parent),
33 ChartDataSet::ChartDataSet(QChart *parent):QObject(parent),
34 m_domainIndex(0)
34 m_domainIndex(0)
35 {
35 {
36
36
37 }
37 }
38
38
39 ChartDataSet::~ChartDataSet()
39 ChartDataSet::~ChartDataSet()
40 {
40 {
41 removeAllSeries();
41 removeAllSeries();
42 }
42 }
43
43
44 void ChartDataSet::addSeries(QAbstractSeries* series)
44 void ChartDataSet::addSeries(QAbstractSeries* series)
45 {
45 {
46 QAbstractAxis* axis = m_seriesAxisXMap.value(series);
46 QAbstractAxis* axis = m_seriesAxisXMap.value(series);
47
47
48 if(axis) {
48 if(axis) {
49 qWarning() << "Can not add series. Series already on the chart";
49 qWarning() << "Can not add series. Series already on the chart";
50 return;
50 return;
51 }
51 }
52
52
53 QAbstractAxis* axisX = series->d_ptr->createAxisX(this);
53 QAbstractAxis* axisX = series->d_ptr->createAxisX(this);
54 QAbstractAxis* axisY = series->d_ptr->createAxisY(this);
54 QAbstractAxis* axisY = series->d_ptr->createAxisY(this);
55
55
56 series->setParent(this); // take ownership
56 series->setParent(this); // take ownership
57
57
58 Domain* domain = new Domain(series);
58 Domain* domain = new Domain(series);
59
59
60 if(axisX){
60 if(axisX){
61 QObject::connect(axisX->d_ptr.data(),SIGNAL(changed(qreal,qreal,int,bool)),domain,SLOT(handleAxisXChanged(qreal,qreal,int,bool)));
61 QObject::connect(axisX->d_ptr.data(),SIGNAL(changed(qreal,qreal,int,bool)),domain,SLOT(handleAxisXChanged(qreal,qreal,int,bool)));
62 QObject::connect(domain,SIGNAL(rangeXChanged(qreal,qreal,int)),axisX->d_ptr.data(),SLOT(handleAxisRangeChanged(qreal,qreal,int)));
62 QObject::connect(domain,SIGNAL(rangeXChanged(qreal,qreal,int)),axisX->d_ptr.data(),SLOT(handleAxisRangeChanged(qreal,qreal,int)));
63 axisX->d_ptr->m_orientation=Qt::Horizontal;
63 axisX->d_ptr->m_orientation=Qt::Horizontal;
64 emit axisAdded(axisX,domain);
64 emit axisAdded(axisX,domain);
65 m_seriesAxisXMap.insert(series,axisX);
65 m_seriesAxisXMap.insert(series,axisX);
66 }
66 }
67
67
68 if(axisY){
68 if(axisY){
69 QObject::connect(axisY->d_ptr.data(),SIGNAL(changed(qreal,qreal,int,bool)),domain,SLOT(handleAxisYChanged(qreal,qreal,int,bool)));
69 QObject::connect(axisY->d_ptr.data(),SIGNAL(changed(qreal,qreal,int,bool)),domain,SLOT(handleAxisYChanged(qreal,qreal,int,bool)));
70 QObject::connect(domain,SIGNAL(rangeYChanged(qreal,qreal,int)),axisY->d_ptr.data(),SLOT(handleAxisRangeChanged(qreal,qreal,int)));
70 QObject::connect(domain,SIGNAL(rangeYChanged(qreal,qreal,int)),axisY->d_ptr.data(),SLOT(handleAxisRangeChanged(qreal,qreal,int)));
71 axisY->d_ptr->m_orientation=Qt::Vertical;
71 axisY->d_ptr->m_orientation=Qt::Vertical;
72 emit axisAdded(axisY,domain);
72 emit axisAdded(axisY,domain);
73 m_seriesAxisYMap.insert(series,axisY);
73 m_seriesAxisYMap.insert(series,axisY);
74 }
74 }
75
75
76 m_seriesDomainMap.insert(series,domain);
76 m_seriesDomainMap.insert(series,domain);
77
77
78 series->d_ptr->scaleDomain(*domain);
78 series->d_ptr->scaleDomain(*domain);
79
79
80 QMapIterator<int, QAbstractSeries*> i(m_indexSeriesMap);
80 QMapIterator<int, QAbstractSeries*> i(m_indexSeriesMap);
81
81
82 int key=0;
82 int key=0;
83 while (i.hasNext()) {
83 while (i.hasNext()) {
84 i.next();
84 i.next();
85 if(i.key()!=key) {
85 if(i.key()!=key) {
86 break;
86 break;
87 }
87 }
88 key++;
88 key++;
89 }
89 }
90
90
91 m_indexSeriesMap.insert(key,series);
91 m_indexSeriesMap.insert(key,series);
92
92
93 series->d_ptr->m_chart = qobject_cast<QChart*>(parent());
93 series->d_ptr->m_chart = qobject_cast<QChart*>(parent());
94 series->d_ptr->m_dataset = this;
94 series->d_ptr->m_dataset = this;
95
95
96 emit seriesAdded(series,domain);
96 emit seriesAdded(series,domain);
97
97
98 }
98 }
99
99
100 void ChartDataSet::removeSeries(QAbstractSeries* series)
100 void ChartDataSet::removeSeries(QAbstractSeries* series)
101 {
101 {
102 Domain* domain = m_seriesDomainMap.take(series);
102 Domain* domain = m_seriesDomainMap.take(series);
103
103
104 if(!domain) {
104 if(!domain) {
105 qWarning()<<"Can not remove series. Series not found on the chart.";
105 qWarning()<<"Can not remove series. Series not found on the chart.";
106 }
106 }
107
107
108 emit seriesRemoved(series);
108 emit seriesRemoved(series);
109
109
110 delete domain;
110 delete domain;
111 domain = 0;
111 domain = 0;
112
112
113 int key = seriesIndex(series);
113 int key = seriesIndex(series);
114 Q_ASSERT(key!=-1);
114 Q_ASSERT(key!=-1);
115
115
116 m_indexSeriesMap.remove(key);
116 m_indexSeriesMap.remove(key);
117
117
118 series->setParent(0);
118 series->setParent(0);
119 series->d_ptr->m_chart = 0;
119 series->d_ptr->m_chart = 0;
120 series->d_ptr->m_dataset = 0;
120 series->d_ptr->m_dataset = 0;
121
121
122 QAbstractAxis* axisX = m_seriesAxisXMap.take(series);
122 QAbstractAxis* axisX = m_seriesAxisXMap.take(series);
123
123
124 if(axisX) {
124 if(axisX) {
125 QList<QAbstractAxis*> axesX = m_seriesAxisXMap.values();
125 QList<QAbstractAxis*> axesX = m_seriesAxisXMap.values();
126 int x = axesX.indexOf(axisX);
126 int x = axesX.indexOf(axisX);
127
127
128 if(x==-1) {
128 if(x==-1) {
129 emit axisRemoved(axisX);
129 emit axisRemoved(axisX);
130 axisX->deleteLater();
130 delete axisX;
131 }
131 }
132 }
132 }
133
133
134 QAbstractAxis* axisY = m_seriesAxisYMap.take(series);
134 QAbstractAxis* axisY = m_seriesAxisYMap.take(series);
135
135
136 if(axisY) {
136 if(axisY) {
137 QList<QAbstractAxis*> axesY = m_seriesAxisYMap.values();
137 QList<QAbstractAxis*> axesY = m_seriesAxisYMap.values();
138
138
139 int y = axesY.indexOf(axisY);
139 int y = axesY.indexOf(axisY);
140
140
141 if(y==-1) {
141 if(y==-1) {
142 emit axisRemoved(axisY);
142 emit axisRemoved(axisY);
143 axisY->deleteLater();
143 delete axisY;
144 }
144 }
145 }
145 }
146 }
146 }
147
147
148 void ChartDataSet::removeAllSeries()
148 void ChartDataSet::removeAllSeries()
149 {
149 {
150 QList<QAbstractSeries*> series = m_seriesDomainMap.keys();
150 QList<QAbstractSeries*> series = m_seriesDomainMap.keys();
151 foreach(QAbstractSeries *s , series) {
151 foreach(QAbstractSeries *s , series) {
152 removeSeries(s);
152 removeSeries(s);
153 }
153 }
154
154
155 Q_ASSERT(m_seriesAxisXMap.count()==0);
155 Q_ASSERT(m_seriesAxisXMap.count()==0);
156 Q_ASSERT(m_seriesAxisXMap.count()==0);
156 Q_ASSERT(m_seriesAxisXMap.count()==0);
157 Q_ASSERT(m_seriesDomainMap.count()==0);
157 Q_ASSERT(m_seriesDomainMap.count()==0);
158
158
159 qDeleteAll(series);
159 qDeleteAll(series);
160 }
160 }
161
161
162 void ChartDataSet::zoomInDomain(const QRectF& rect, const QSizeF& size)
162 void ChartDataSet::zoomInDomain(const QRectF& rect, const QSizeF& size)
163 {
163 {
164 QMapIterator<QAbstractSeries*, Domain*> i(m_seriesDomainMap);
164 QMapIterator<QAbstractSeries*, Domain*> i(m_seriesDomainMap);
165 while (i.hasNext()) {
165 while (i.hasNext()) {
166 i.next();
166 i.next();
167 i.value()->zoomIn(rect,size);
167 i.value()->zoomIn(rect,size);
168 }
168 }
169 }
169 }
170
170
171 void ChartDataSet::zoomOutDomain(const QRectF& rect, const QSizeF& size)
171 void ChartDataSet::zoomOutDomain(const QRectF& rect, const QSizeF& size)
172 {
172 {
173 QMapIterator<QAbstractSeries*, Domain*> i(m_seriesDomainMap);
173 QMapIterator<QAbstractSeries*, Domain*> i(m_seriesDomainMap);
174 while (i.hasNext()) {
174 while (i.hasNext()) {
175 i.next();
175 i.next();
176 i.value()->zoomOut(rect,size);
176 i.value()->zoomOut(rect,size);
177 }
177 }
178 }
178 }
179
179
180 int ChartDataSet::seriesCount(QAbstractSeries::SeriesType type)
180 int ChartDataSet::seriesCount(QAbstractSeries::SeriesType type)
181 {
181 {
182 int count=0;
182 int count=0;
183 QMapIterator<QAbstractSeries*, QAbstractAxis*> i(m_seriesAxisXMap);
183 QMapIterator<QAbstractSeries*, QAbstractAxis*> i(m_seriesAxisXMap);
184 while (i.hasNext()) {
184 while (i.hasNext()) {
185 i.next();
185 i.next();
186 if(i.key()->type()==type) count++;
186 if(i.key()->type()==type) count++;
187 }
187 }
188 return count;
188 return count;
189 }
189 }
190
190
191 int ChartDataSet::seriesIndex(QAbstractSeries *series)
191 int ChartDataSet::seriesIndex(QAbstractSeries *series)
192 {
192 {
193 QMapIterator<int, QAbstractSeries*> i(m_indexSeriesMap);
193 QMapIterator<int, QAbstractSeries*> i(m_indexSeriesMap);
194 while (i.hasNext()) {
194 while (i.hasNext()) {
195 i.next();
195 i.next();
196 if (i.value() == series)
196 if (i.value() == series)
197 return i.key();
197 return i.key();
198 }
198 }
199 return -1;
199 return -1;
200 }
200 }
201
201
202 QAbstractAxis* ChartDataSet::axisX(QAbstractSeries *series) const
202 QAbstractAxis* ChartDataSet::axisX(QAbstractSeries *series) const
203 {
203 {
204 if(series == 0) return m_seriesAxisXMap.begin().value();
204 if(series == 0) return m_seriesAxisXMap.begin().value();
205 return m_seriesAxisXMap.value(series);
205 return m_seriesAxisXMap.value(series);
206 }
206 }
207
207
208 QAbstractAxis* ChartDataSet::axisY(QAbstractSeries *series) const
208 QAbstractAxis* ChartDataSet::axisY(QAbstractSeries *series) const
209 {
209 {
210 if(series == 0) return m_seriesAxisYMap.begin().value();
210 if(series == 0) return m_seriesAxisYMap.begin().value();
211 return m_seriesAxisYMap.value(series);
211 return m_seriesAxisYMap.value(series);
212 }
212 }
213
213
214 void ChartDataSet::setAxisX(QAbstractSeries *series, QAbstractAxis *axis)
214 void ChartDataSet::setAxisX(QAbstractSeries *series, QAbstractAxis *axis)
215 {
215 {
216 Q_ASSERT(axis);
216 Q_ASSERT(axis);
217 QAbstractAxis *oldAxis = m_seriesAxisXMap.take(series);
217 QAbstractAxis *oldAxis = m_seriesAxisXMap.take(series);
218
218
219 if(!oldAxis) {
219 if(!oldAxis) {
220 qWarning()<<"Series not found on the chart.";
220 qWarning()<<"Series not found on the chart.";
221 return;
221 return;
222 }
222 }
223
223
224 if(axis->d_ptr->m_orientation==Qt::Vertical) {
224 if(axis->d_ptr->m_orientation==Qt::Vertical) {
225 qWarning()<<"Axis already defined as axis Y";
225 qWarning()<<"Axis already defined as axis Y";
226 return;
226 return;
227 }
227 }
228
228
229 QList<QAbstractAxis*> axesX = m_seriesAxisXMap.values();
229 QList<QAbstractAxis*> axesX = m_seriesAxisXMap.values();
230 int x = axesX.indexOf(oldAxis);
230 int x = axesX.indexOf(oldAxis);
231 if(x==-1) {
231 if(x==-1) {
232 emit axisRemoved(oldAxis);
232 emit axisRemoved(oldAxis);
233 delete oldAxis;
233 delete oldAxis;
234 }
234 }
235
235
236 Domain* domain = m_seriesDomainMap.value(series);
236 Domain* domain = m_seriesDomainMap.value(series);
237 Q_ASSERT(domain);
237 Q_ASSERT(domain);
238
238
239 QObject::connect(axis->d_ptr.data(),SIGNAL(changed(qreal,qreal,int,bool)),domain,SLOT(handleAxisXChanged(qreal,qreal,int,bool)));
239 QObject::connect(axis->d_ptr.data(),SIGNAL(changed(qreal,qreal,int,bool)),domain,SLOT(handleAxisXChanged(qreal,qreal,int,bool)));
240 QObject::connect(domain,SIGNAL(rangeXChanged(qreal,qreal,int)),axis->d_ptr.data(),SLOT(handleAxisRangeChanged(qreal,qreal,int)));
240 QObject::connect(domain,SIGNAL(rangeXChanged(qreal,qreal,int)),axis->d_ptr.data(),SLOT(handleAxisRangeChanged(qreal,qreal,int)));
241
241
242 x = axesX.indexOf(axis);
242 x = axesX.indexOf(axis);
243 if(x==-1) {
243 if(x==-1) {
244 axis->d_ptr->m_orientation=Qt::Horizontal;
244 axis->d_ptr->m_orientation=Qt::Horizontal;
245 emit axisAdded(axis,domain);
245 emit axisAdded(axis,domain);
246 }
246 }
247
247
248 m_seriesAxisXMap.insert(series,axis);
248 m_seriesAxisXMap.insert(series,axis);
249 }
249 }
250
250
251 void ChartDataSet::setAxisY(QAbstractSeries *series, QAbstractAxis *axis)
251 void ChartDataSet::setAxisY(QAbstractSeries *series, QAbstractAxis *axis)
252 {
252 {
253 Q_ASSERT(axis);
253 Q_ASSERT(axis);
254 QAbstractAxis *oldAxis = m_seriesAxisYMap.take(series);
254 QAbstractAxis *oldAxis = m_seriesAxisYMap.take(series);
255
255
256 if(!oldAxis) {
256 if(!oldAxis) {
257 qWarning()<<"Series not found on the chart or axis is unsupported for given series type";
257 qWarning()<<"Series not found on the chart or axis is unsupported for given series type";
258 return;
258 return;
259 }
259 }
260
260
261 if(axis->d_ptr->m_orientation==Qt::Horizontal) {
261 if(axis->d_ptr->m_orientation==Qt::Horizontal) {
262 qWarning()<<"Axis already defined as axis X";
262 qWarning()<<"Axis already defined as axis X";
263 return;
263 return;
264 }
264 }
265
265
266 QList<QAbstractAxis*> axesY = m_seriesAxisYMap.values();
266 QList<QAbstractAxis*> axesY = m_seriesAxisYMap.values();
267 int y = axesY.indexOf(oldAxis);
267 int y = axesY.indexOf(oldAxis);
268 if(y==-1) {
268 if(y==-1) {
269 emit axisRemoved(oldAxis);
269 emit axisRemoved(oldAxis);
270 delete oldAxis;
270 delete oldAxis;
271 }
271 }
272
272
273 Domain* domain = m_seriesDomainMap.value(series);
273 Domain* domain = m_seriesDomainMap.value(series);
274 Q_ASSERT(domain);
274 Q_ASSERT(domain);
275
275
276 QObject::connect(axis->d_ptr.data(),SIGNAL(changed(qreal,qreal,int,bool)),domain,SLOT(handleAxisYChanged(qreal,qreal,int,bool)));
276 QObject::connect(axis->d_ptr.data(),SIGNAL(changed(qreal,qreal,int,bool)),domain,SLOT(handleAxisYChanged(qreal,qreal,int,bool)));
277 QObject::connect(domain,SIGNAL(rangeYChanged(qreal,qreal,int)),axis->d_ptr.data(),SLOT(handleAxisRangeChanged(qreal,qreal,int)));
277 QObject::connect(domain,SIGNAL(rangeYChanged(qreal,qreal,int)),axis->d_ptr.data(),SLOT(handleAxisRangeChanged(qreal,qreal,int)));
278
278
279 y = axesY.indexOf(axis);
279 y = axesY.indexOf(axis);
280 if(y==-1) {
280 if(y==-1) {
281 axis->d_ptr->m_orientation=Qt::Vertical;
281 axis->d_ptr->m_orientation=Qt::Vertical;
282 emit axisAdded(axis,domain);
282 emit axisAdded(axis,domain);
283 }
283 }
284
284
285 m_seriesAxisYMap.insert(series,axis);
285 m_seriesAxisYMap.insert(series,axis);
286 }
286 }
287
287
288 Domain* ChartDataSet::domain(QAbstractSeries *series) const
288 Domain* ChartDataSet::domain(QAbstractSeries *series) const
289 {
289 {
290 return m_seriesDomainMap.value(series);
290 return m_seriesDomainMap.value(series);
291 }
291 }
292
292
293 void ChartDataSet::scrollDomain(qreal dx,qreal dy,const QSizeF& size)
293 void ChartDataSet::scrollDomain(qreal dx,qreal dy,const QSizeF& size)
294 {
294 {
295 QMapIterator<QAbstractSeries*, Domain*> i(m_seriesDomainMap);
295 QMapIterator<QAbstractSeries*, Domain*> i(m_seriesDomainMap);
296 while (i.hasNext()) {
296 while (i.hasNext()) {
297 i.next();
297 i.next();
298 i.value()->move(dx,dy,size);
298 i.value()->move(dx,dy,size);
299 }
299 }
300 }
300 }
301
301
302 QList<QAbstractSeries*> ChartDataSet::series() const
302 QList<QAbstractSeries*> ChartDataSet::series() const
303 {
303 {
304 return m_seriesAxisXMap.keys();
304 return m_seriesAxisXMap.keys();
305 }
305 }
306
306
307 void ChartDataSet::updateSeries(QAbstractSeries *series)
307 void ChartDataSet::updateSeries(QAbstractSeries *series)
308 {
308 {
309 emit seriesUpdated(series);
309 emit seriesUpdated(series);
310 }
310 }
311
311
312 #include "moc_chartdataset_p.cpp"
312 #include "moc_chartdataset_p.cpp"
313
313
314 QTCOMMERCIALCHART_END_NAMESPACE
314 QTCOMMERCIALCHART_END_NAMESPACE
@@ -1,639 +1,632
1 /****************************************************************************
1 /****************************************************************************
2 **
2 **
3 ** Copyright (C) 2012 Digia Plc
3 ** Copyright (C) 2012 Digia Plc
4 ** All rights reserved.
4 ** All rights reserved.
5 ** For any questions to Digia, please use contact form at http://qt.digia.com
5 ** For any questions to Digia, please use contact form at http://qt.digia.com
6 **
6 **
7 ** This file is part of the Qt Commercial Charts Add-on.
7 ** This file is part of the Qt Commercial Charts Add-on.
8 **
8 **
9 ** $QT_BEGIN_LICENSE$
9 ** $QT_BEGIN_LICENSE$
10 ** Licensees holding valid Qt Commercial licenses may use this file in
10 ** Licensees holding valid Qt Commercial licenses may use this file in
11 ** accordance with the Qt Commercial License Agreement provided with the
11 ** accordance with the Qt Commercial License Agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and Digia.
13 ** a written agreement between you and Digia.
14 **
14 **
15 ** If you have questions regarding the use of this file, please use
15 ** If you have questions regarding the use of this file, please use
16 ** contact form at http://qt.digia.com
16 ** contact form at http://qt.digia.com
17 ** $QT_END_LICENSE$
17 ** $QT_END_LICENSE$
18 **
18 **
19 ****************************************************************************/
19 ****************************************************************************/
20
20
21 #include <QtTest/QtTest>
21 #include <QtTest/QtTest>
22 #include <qabstractaxis.h>
22 #include <qabstractaxis.h>
23 #include <qvaluesaxis.h>
23 #include <qvaluesaxis.h>
24 #include <qcategoriesaxis.h>
24 #include <qcategoriesaxis.h>
25 #include <qlineseries.h>
25 #include <qlineseries.h>
26 #include <qareaseries.h>
26 #include <qareaseries.h>
27 #include <qscatterseries.h>
27 #include <qscatterseries.h>
28 #include <qsplineseries.h>
28 #include <qsplineseries.h>
29 #include <qpieseries.h>
29 #include <qpieseries.h>
30 #include <qbarseries.h>
30 #include <qbarseries.h>
31 #include <qpercentbarseries.h>
31 #include <qpercentbarseries.h>
32 #include <qstackedbarseries.h>
32 #include <qstackedbarseries.h>
33 #include <private/chartdataset_p.h>
33 #include <private/chartdataset_p.h>
34 #include <private/domain_p.h>
34 #include <private/domain_p.h>
35 #include <tst_definitions.h>
35 #include <tst_definitions.h>
36
36
37 QTCOMMERCIALCHART_USE_NAMESPACE
37 QTCOMMERCIALCHART_USE_NAMESPACE
38
38
39 Q_DECLARE_METATYPE(Domain *)
39 Q_DECLARE_METATYPE(Domain *)
40 Q_DECLARE_METATYPE(QAbstractAxis *)
40 Q_DECLARE_METATYPE(QAbstractAxis *)
41 Q_DECLARE_METATYPE(QAbstractSeries *)
41 Q_DECLARE_METATYPE(QAbstractSeries *)
42 Q_DECLARE_METATYPE(QList<QAbstractSeries *>)
42 Q_DECLARE_METATYPE(QList<QAbstractSeries *>)
43 Q_DECLARE_METATYPE(QList<QAbstractAxis *>)
43 Q_DECLARE_METATYPE(QList<QAbstractAxis *>)
44 Q_DECLARE_METATYPE(QLineSeries *)
44 Q_DECLARE_METATYPE(QLineSeries *)
45
45
46 class tst_ChartDataSet: public QObject {
46 class tst_ChartDataSet: public QObject {
47
47
48 Q_OBJECT
48 Q_OBJECT
49
49
50 public Q_SLOTS:
50 public Q_SLOTS:
51 void initTestCase();
51 void initTestCase();
52 void cleanupTestCase();
52 void cleanupTestCase();
53 void init();
53 void init();
54 void cleanup();
54 void cleanup();
55
55
56 private Q_SLOTS:
56 private Q_SLOTS:
57 void chartdataset_data();
57 void chartdataset_data();
58 void chartdataset();
58 void chartdataset();
59 void addSeries_data();
59 void addSeries_data();
60 void addSeries();
60 void addSeries();
61 void setAxisX_data();
61 void setAxisX_data();
62 void setAxisX();
62 void setAxisX();
63 void setAxisY_data();
63 void setAxisY_data();
64 void setAxisY();
64 void setAxisY();
65 void removeSeries_data();
65 void removeSeries_data();
66 void removeSeries();
66 void removeSeries();
67 void removeAllSeries_data();
67 void removeAllSeries_data();
68 void removeAllSeries();
68 void removeAllSeries();
69 void seriesCount_data();
69 void seriesCount_data();
70 void seriesCount();
70 void seriesCount();
71 void seriesIndex_data();
71 void seriesIndex_data();
72 void seriesIndex();
72 void seriesIndex();
73 /*
73 /*
74 void domain_data();
74 void domain_data();
75 void domain();
75 void domain();
76 void zoomInDomain_data();
76 void zoomInDomain_data();
77 void zoomInDomain();
77 void zoomInDomain();
78 void zoomOutDomain_data();
78 void zoomOutDomain_data();
79 void zoomOutDomain();
79 void zoomOutDomain();
80 void scrollDomain_data();
80 void scrollDomain_data();
81 void scrollDomain();
81 void scrollDomain();
82 */
82 */
83 private:
83 private:
84 ChartDataSet* m_dataset;
84 ChartDataSet* m_dataset;
85 };
85 };
86
86
87 void tst_ChartDataSet::initTestCase()
87 void tst_ChartDataSet::initTestCase()
88 {
88 {
89 qRegisterMetaType<Domain*>();
89 qRegisterMetaType<Domain*>();
90 qRegisterMetaType<QAbstractAxis*>();
90 qRegisterMetaType<QAbstractAxis*>();
91 qRegisterMetaType<QAbstractSeries*>();
91 qRegisterMetaType<QAbstractSeries*>();
92 }
92 }
93
93
94 void tst_ChartDataSet::cleanupTestCase()
94 void tst_ChartDataSet::cleanupTestCase()
95 {
95 {
96 }
96 }
97
97
98 void tst_ChartDataSet::init()
98 void tst_ChartDataSet::init()
99 {
99 {
100 m_dataset = new ChartDataSet();
100 m_dataset = new ChartDataSet();
101 }
101 }
102
102
103
103
104 void tst_ChartDataSet::cleanup()
104 void tst_ChartDataSet::cleanup()
105 {
105 {
106 QList<QAbstractSeries*> series = m_dataset->series();
106 QList<QAbstractSeries*> series = m_dataset->series();
107 foreach(QAbstractSeries* serie, series)
107 foreach(QAbstractSeries* serie, series)
108 {
108 {
109 m_dataset->removeSeries(serie);
109 m_dataset->removeSeries(serie);
110 }
110 }
111 }
111 }
112
112
113 void tst_ChartDataSet::chartdataset_data()
113 void tst_ChartDataSet::chartdataset_data()
114 {
114 {
115 }
115 }
116
116
117 void tst_ChartDataSet::chartdataset()
117 void tst_ChartDataSet::chartdataset()
118 {
118 {
119 QVERIFY(m_dataset->axisX(0) == 0);
119 QVERIFY(m_dataset->axisX(0) == 0);
120 QVERIFY(m_dataset->axisY(0) == 0);
120 QVERIFY(m_dataset->axisY(0) == 0);
121 QLineSeries* series = new QLineSeries(this);
121 QLineSeries* series = new QLineSeries(this);
122 QCOMPARE(m_dataset->seriesIndex(series),-1);
122 QCOMPARE(m_dataset->seriesIndex(series),-1);
123 QVERIFY(m_dataset->domain(series) == 0);
123 QVERIFY(m_dataset->domain(series) == 0);
124 QVERIFY(m_dataset->axisX(series) == 0);
124 QVERIFY(m_dataset->axisX(series) == 0);
125 QVERIFY(m_dataset->axisY(series) == 0);
125 QVERIFY(m_dataset->axisY(series) == 0);
126 }
126 }
127
127
128
128
129 void tst_ChartDataSet::addSeries_data()
129 void tst_ChartDataSet::addSeries_data()
130 {
130 {
131 QTest::addColumn<QAbstractSeries*>("series");
131 QTest::addColumn<QAbstractSeries*>("series");
132
132
133 QAbstractSeries* line = new QLineSeries(this);
133 QAbstractSeries* line = new QLineSeries(this);
134 QAbstractSeries* area = new QAreaSeries(static_cast<QLineSeries*>(line));
134 QAbstractSeries* area = new QAreaSeries(static_cast<QLineSeries*>(line));
135 QAbstractSeries* scatter = new QScatterSeries(this);
135 QAbstractSeries* scatter = new QScatterSeries(this);
136 QAbstractSeries* spline = new QSplineSeries(this);
136 QAbstractSeries* spline = new QSplineSeries(this);
137 QAbstractSeries* pie = new QPieSeries(this);
137 QAbstractSeries* pie = new QPieSeries(this);
138 QAbstractSeries* bar = new QBarSeries(this);
138 QAbstractSeries* bar = new QBarSeries(this);
139 QAbstractSeries* percent = new QPercentBarSeries(this);
139 QAbstractSeries* percent = new QPercentBarSeries(this);
140 QAbstractSeries* stacked = new QStackedBarSeries(this);
140 QAbstractSeries* stacked = new QStackedBarSeries(this);
141
141
142 QTest::newRow("line") << line;
142 QTest::newRow("line") << line;
143 QTest::newRow("area") << area;
143 QTest::newRow("area") << area;
144 QTest::newRow("scatter") << scatter;
144 QTest::newRow("scatter") << scatter;
145 QTest::newRow("spline") << spline;
145 QTest::newRow("spline") << spline;
146 QTest::newRow("pie") << pie;
146 QTest::newRow("pie") << pie;
147 QTest::newRow("bar") << bar;
147 QTest::newRow("bar") << bar;
148 QTest::newRow("percent") << percent;
148 QTest::newRow("percent") << percent;
149 QTest::newRow("stacked") << stacked;
149 QTest::newRow("stacked") << stacked;
150 }
150 }
151
151
152 void tst_ChartDataSet::addSeries()
152 void tst_ChartDataSet::addSeries()
153 {
153 {
154
154
155 QFETCH(QAbstractSeries*, series);
155 QFETCH(QAbstractSeries*, series);
156
156
157 QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*, Domain *)));
157 QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*, Domain *)));
158 QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*)));
158 QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*)));
159 QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries *, Domain *)));
159 QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries *, Domain *)));
160 QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries *)));
160 QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries *)));
161
161
162 m_dataset->addSeries(series);
162 m_dataset->addSeries(series);
163
163
164 if(series->type()==QAbstractSeries::SeriesTypePie){
164 if(series->type()==QAbstractSeries::SeriesTypePie){
165 TRY_COMPARE(spy0.count(), 0);
165 TRY_COMPARE(spy0.count(), 0);
166 }else{
166 }else{
167 TRY_COMPARE(spy0.count(), 2);
167 TRY_COMPARE(spy0.count(), 2);
168 }
168 }
169 TRY_COMPARE(spy1.count(), 0);
169 TRY_COMPARE(spy1.count(), 0);
170 TRY_COMPARE(spy2.count(), 1);
170 TRY_COMPARE(spy2.count(), 1);
171 TRY_COMPARE(spy3.count(), 0);
171 TRY_COMPARE(spy3.count(), 0);
172 }
172 }
173
173
174
174
175 void tst_ChartDataSet::setAxisX_data()
175 void tst_ChartDataSet::setAxisX_data()
176 {
176 {
177
177
178 QTest::addColumn<QList<QAbstractSeries*> >("seriesList");
178 QTest::addColumn<QList<QAbstractSeries*> >("seriesList");
179 QTest::addColumn<QList<QAbstractAxis*> > ("axisList");
179 QTest::addColumn<QList<QAbstractAxis*> >("axisList");
180 QTest::addColumn<int > ("axisCount");
180 QTest::addColumn<int>("axisCount");
181
181
182 QAbstractSeries* line = new QLineSeries(this);
182 QAbstractSeries* line = new QLineSeries(this);
183 QAbstractSeries* area = new QAreaSeries(static_cast<QLineSeries*>(line));
183 QAbstractSeries* area = new QAreaSeries(static_cast<QLineSeries*>(line));
184 QAbstractSeries* scatter = new QScatterSeries(this);
184 QAbstractSeries* scatter = new QScatterSeries(this);
185 QAbstractSeries* spline = new QSplineSeries(this);
185 QAbstractSeries* spline = new QSplineSeries(this);
186 QAbstractSeries* pie = new QPieSeries(this);
186 QAbstractSeries* pie = new QPieSeries(this);
187 QAbstractSeries* bar = new QBarSeries(this);
187 QAbstractSeries* bar = new QBarSeries(this);
188 QAbstractSeries* percent = new QPercentBarSeries(this);
188 QAbstractSeries* percent = new QPercentBarSeries(this);
189 QAbstractSeries* stacked = new QStackedBarSeries(this);
189 QAbstractSeries* stacked = new QStackedBarSeries(this);
190
190
191 QValuesAxis* valueaxis0 = new QValuesAxis(this);
191 QTest::newRow("line,spline,scatter: axis 0 axis1 axis 2")
192 QValuesAxis* valueaxis1 = new QValuesAxis(this);
192 << (QList<QAbstractSeries*>() << line << spline << scatter)
193 QValuesAxis* valueaxis2 = new QValuesAxis(this);
193 << (QList<QAbstractAxis*>() << new QValuesAxis(this) << new QValuesAxis(this) << new QValuesAxis(this)) << 3;
194 QCategoriesAxis* categoriesaxis = new QCategoriesAxis(this);
194
195 QTest::newRow("area: axis 0") << (QList<QAbstractSeries*>() << area)
196 << (QList<QAbstractAxis*>() << new QValuesAxis(this)) << 1;
195
197
196 QTest::newRow("line,spline,scatter: axis 0 axis1 axis 2") << ( QList<QAbstractSeries*>() << line << spline << scatter) << ( QList<QAbstractAxis*>() << valueaxis0 << valueaxis1 << valueaxis2) << 3;
198 QList<QAbstractAxis*> axes0;
197 QTest::newRow("area: axis 0") << ( QList<QAbstractSeries*>() << area) << ( QList<QAbstractAxis*>() << valueaxis0) << 1;
199 axes0 << new QValuesAxis(this) << new QValuesAxis(this);
198 QTest::newRow("area, spline, scatter: axis 0 axis1 axis 1") << ( QList<QAbstractSeries*>() << area << spline << scatter) << ( QList<QAbstractAxis*>() << valueaxis0 << valueaxis1 << valueaxis1) << 2;
200 axes0 << axes0.last();
199 //TODO: add more test cases
201 QTest::newRow("line,spline,scatter: axis 0 axis1 axis 1")
202 << (QList<QAbstractSeries*>() << line << spline << scatter)
203 << axes0 << 2;
204 //TODO: add more test cases
200 }
205 }
201
206
202 void tst_ChartDataSet::setAxisX()
207 void tst_ChartDataSet::setAxisX()
203 {
208 {
204 QFETCH(QList<QAbstractSeries*>, seriesList);
209 QFETCH(QList<QAbstractSeries*>, seriesList);
205 QFETCH(QList<QAbstractAxis*>, axisList);
210 QFETCH(QList<QAbstractAxis*>, axisList);
206 QFETCH(int, axisCount);
211 QFETCH(int, axisCount);
207
212
208 Q_ASSERT(seriesList.count() == axisList.count());
213 Q_ASSERT(seriesList.count() == axisList.count());
209
214
210 QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis *,Domain*)));
215 QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis *,Domain*)));
211 QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis *)));
216 QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis *)));
212 QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries *,Domain*)));
217 QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries *,Domain*)));
213 QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries *)));
218 QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries *)));
214
219
215 foreach(QAbstractSeries* series, seriesList){
220 foreach(QAbstractSeries* series, seriesList){
216 m_dataset->addSeries(series);
221 m_dataset->addSeries(series);
217 }
222 }
218
223
219 TRY_COMPARE(spy0.count(), seriesList.count()*2);
224 TRY_COMPARE(spy0.count(), seriesList.count()*2);
220 TRY_COMPARE(spy1.count(), 0);
225 TRY_COMPARE(spy1.count(), 0);
221 TRY_COMPARE(spy2.count(), seriesList.count());
226 TRY_COMPARE(spy2.count(), seriesList.count());
222 TRY_COMPARE(spy3.count(), 0);
227 TRY_COMPARE(spy3.count(), 0);
223
228
224 QSignalSpy spy4(m_dataset, SIGNAL(axisAdded(QAbstractAxis*,Domain*)));
229 QSignalSpy spy4(m_dataset, SIGNAL(axisAdded(QAbstractAxis*,Domain*)));
225 QSignalSpy spy5(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*)));
230 QSignalSpy spy5(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*)));
226 QSignalSpy spy6(m_dataset, SIGNAL(seriesAdded(QAbstractSeries *,Domain*)));
231 QSignalSpy spy6(m_dataset, SIGNAL(seriesAdded(QAbstractSeries *,Domain*)));
227 QSignalSpy spy7(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries *)));
232 QSignalSpy spy7(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries *)));
228
233
229 for(int i=0 ; i < seriesList.count(); i++){
234 for(int i=0 ; i < seriesList.count(); i++){
230 m_dataset->setAxisX(seriesList.at(i),axisList.at(i));
235 m_dataset->setAxisX(seriesList.at(i),axisList.at(i));
231 }
236 }
232
237
233 TRY_COMPARE(spy4.count(), axisCount);
238 TRY_COMPARE(spy4.count(), axisCount);
234 TRY_COMPARE(spy5.count(), seriesList.count());
239 TRY_COMPARE(spy5.count(), seriesList.count());
235 TRY_COMPARE(spy6.count(), 0);
240 TRY_COMPARE(spy6.count(), 0);
236 TRY_COMPARE(spy7.count(), 0);
241 TRY_COMPARE(spy7.count(), 0);
237
242
238 for(int i=0 ; i < seriesList.count(); i++){
243 for(int i=0 ; i < seriesList.count(); i++){
239 QVERIFY(m_dataset->axisX(seriesList.at(i)) == axisList.at(i));
244 QVERIFY(m_dataset->axisX(seriesList.at(i)) == axisList.at(i));
240 }
245 }
241 }
246 }
242
247
243 void tst_ChartDataSet::setAxisY_data()
248 void tst_ChartDataSet::setAxisY_data()
244 {
249 {
245 setAxisX_data();
250 setAxisX_data();
246 }
251 }
247
252
248 void tst_ChartDataSet::setAxisY()
253 void tst_ChartDataSet::setAxisY()
249 {
254 {
250 QFETCH(QList<QAbstractSeries*>, seriesList);
255 QFETCH(QList<QAbstractSeries*>, seriesList);
251 QFETCH(QList<QAbstractAxis*>, axisList);
256 QFETCH(QList<QAbstractAxis*>, axisList);
252 QFETCH(int, axisCount);
257 QFETCH(int, axisCount);
253
258
254 Q_ASSERT(seriesList.count() == axisList.count());
259 Q_ASSERT(seriesList.count() == axisList.count());
255
260
256 QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*,Domain*)));
261 QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*,Domain*)));
257 QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*)));
262 QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*)));
258 QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries *,Domain*)));
263 QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries *,Domain*)));
259 QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries *)));
264 QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries *)));
260
265
261 foreach(QAbstractSeries* series, seriesList){
266 foreach(QAbstractSeries* series, seriesList){
262 m_dataset->addSeries(series);
267 m_dataset->addSeries(series);
263 }
268 }
264
269
265 TRY_COMPARE(spy0.count(), seriesList.count()*2);
270 TRY_COMPARE(spy0.count(), seriesList.count()*2);
266 TRY_COMPARE(spy1.count(), 0);
271 TRY_COMPARE(spy1.count(), 0);
267 TRY_COMPARE(spy2.count(), seriesList.count());
272 TRY_COMPARE(spy2.count(), seriesList.count());
268 TRY_COMPARE(spy3.count(), 0);
273 TRY_COMPARE(spy3.count(), 0);
269
274
270 QSignalSpy spy4(m_dataset, SIGNAL(axisAdded(QAbstractAxis*,Domain*)));
275 QSignalSpy spy4(m_dataset, SIGNAL(axisAdded(QAbstractAxis*,Domain*)));
271 QSignalSpy spy5(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*)));
276 QSignalSpy spy5(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*)));
272 QSignalSpy spy6(m_dataset, SIGNAL(seriesAdded(QAbstractSeries *,Domain*)));
277 QSignalSpy spy6(m_dataset, SIGNAL(seriesAdded(QAbstractSeries *,Domain*)));
273 QSignalSpy spy7(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries *)));
278 QSignalSpy spy7(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries *)));
274
279
275 for(int i=0 ; i < seriesList.count(); i++){
280 for(int i=0 ; i < seriesList.count(); i++){
276 m_dataset->setAxisY(seriesList.at(i),axisList.at(i));
281 m_dataset->setAxisY(seriesList.at(i),axisList.at(i));
277 }
282 }
278
283
279 TRY_COMPARE(spy4.count(), axisCount);
284 TRY_COMPARE(spy4.count(), axisCount);
280 TRY_COMPARE(spy5.count(), seriesList.count());
285 TRY_COMPARE(spy5.count(), seriesList.count());
281 TRY_COMPARE(spy6.count(), 0);
286 TRY_COMPARE(spy6.count(), 0);
282 TRY_COMPARE(spy7.count(), 0);
287 TRY_COMPARE(spy7.count(), 0);
283
288
284 for(int i=0 ; i < seriesList.count(); i++){
289 for(int i=0 ; i < seriesList.count(); i++){
285 QVERIFY(m_dataset->axisY(seriesList.at(i)) == axisList.at(i));
290 QVERIFY(m_dataset->axisY(seriesList.at(i)) == axisList.at(i));
286 }
291 }
287 }
292 }
288
293
289 void tst_ChartDataSet::removeSeries_data()
294 void tst_ChartDataSet::removeSeries_data()
290 {
295 {
291 addSeries_data();
296 addSeries_data();
292 }
297 }
293
298
294 void tst_ChartDataSet::removeSeries()
299 void tst_ChartDataSet::removeSeries()
295 {
300 {
296 QFETCH(QAbstractSeries*, series);
301 QFETCH(QAbstractSeries*, series);
297
302
298 m_dataset->addSeries(series);
303 m_dataset->addSeries(series);
299
304
300 QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*, Domain *)));
305 QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*, Domain *)));
301 QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*)));
306 QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*)));
302 QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries *, Domain *)));
307 QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries *, Domain *)));
303 QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries *)));
308 QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries *)));
304
309
305 m_dataset->removeSeries(series);
310 m_dataset->removeSeries(series);
306
311
307 TRY_COMPARE(spy0.count(), 0);
312 TRY_COMPARE(spy0.count(), 0);
308 if (series->type() == QAbstractSeries::SeriesTypePie) {
313 if (series->type() == QAbstractSeries::SeriesTypePie) {
309 TRY_COMPARE(spy1.count(), 0);
314 TRY_COMPARE(spy1.count(), 0);
310 }
315 }
311 else {
316 else {
312 TRY_COMPARE(spy1.count(), 2);
317 TRY_COMPARE(spy1.count(), 2);
313 }
318 }
314 TRY_COMPARE(spy2.count(), 0);
319 TRY_COMPARE(spy2.count(), 0);
315 TRY_COMPARE(spy3.count(), 1);
320 TRY_COMPARE(spy3.count(), 1);
316 }
321 }
317
322
318 void tst_ChartDataSet::removeAllSeries_data()
323 void tst_ChartDataSet::removeAllSeries_data()
319 {
324 {
320 QTest::addColumn<QList<QAbstractSeries*> >("seriesList");
325 QTest::addColumn<QList<QAbstractSeries*> >("seriesList");
321 QTest::addColumn<QList<QAbstractAxis*> >("axisList");
326 QTest::addColumn<QList<QAbstractAxis*> >("axisList");
322 QTest::addColumn<int>("axisCount");
327 QTest::addColumn<int>("axisCount");
323
328
324 QAbstractSeries* line = new QLineSeries(this);
325 QAbstractSeries* area = new QAreaSeries(static_cast<QLineSeries*>(line));
326 QAbstractSeries* scatter = new QScatterSeries(this);
327 QAbstractSeries* spline = new QSplineSeries(this);
328 QAbstractSeries* pie = new QPieSeries(this);
329 QAbstractSeries* bar = new QBarSeries(this);
330 QAbstractSeries* percent = new QPercentBarSeries(this);
331 QAbstractSeries* stacked = new QStackedBarSeries(this);
332
333 QValuesAxis* valueaxis0 = new QValuesAxis(this);
334 QValuesAxis* valueaxis1 = new QValuesAxis(this);
335 QValuesAxis* valueaxis2 = new QValuesAxis(this);
336
337 QTest::newRow("line,spline,scatter: axis 0 axis1 axis 2")
329 QTest::newRow("line,spline,scatter: axis 0 axis1 axis 2")
338 << (QList<QAbstractSeries*>() << line << spline << scatter)
330 << (QList<QAbstractSeries*>() << new QLineSeries(this) << new QSplineSeries(this)
339 << (QList<QAbstractAxis*>() << valueaxis0 << valueaxis1 << valueaxis2) << 3;
331 << new QScatterSeries(this))
332 << (QList<QAbstractAxis*>() << new QValuesAxis(this) << new QValuesAxis(this)
333 << new QValuesAxis(this)) << 3;
340 //TODO:
334 //TODO:
341
342 }
335 }
343
336
344 void tst_ChartDataSet::removeAllSeries()
337 void tst_ChartDataSet::removeAllSeries()
345 {
338 {
346 QFETCH(QList<QAbstractSeries*>, seriesList);
339 QFETCH(QList<QAbstractSeries*>, seriesList);
347 QFETCH(QList<QAbstractAxis*>, axisList);
340 QFETCH(QList<QAbstractAxis*>, axisList);
348 QFETCH(int, axisCount);
341 QFETCH(int, axisCount);
349
342
350 foreach(QAbstractSeries* series, seriesList) {
343 foreach(QAbstractSeries* series, seriesList) {
351 m_dataset->addSeries(series);
344 m_dataset->addSeries(series);
352 }
345 }
353
346
354 for (int i = 0; i < seriesList.count(); i++) {
347 for (int i = 0; i < seriesList.count(); i++) {
355 m_dataset->setAxisX(seriesList.at(i), axisList.at(i));
348 m_dataset->setAxisX(seriesList.at(i), axisList.at(i));
356 }
349 }
357
350
358 QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis *, Domain *)));
351 QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis *, Domain *)));
359 QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis *)));
352 QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis *)));
360 QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries *, Domain *)));
353 QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries *, Domain *)));
361 QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries *)));
354 QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries *)));
362
355
363 m_dataset->removeAllSeries();
356 m_dataset->removeAllSeries();
364
357
365 TRY_COMPARE(spy0.count(), 0);
358 TRY_COMPARE(spy0.count(), 0);
366 TRY_COMPARE(spy1.count(), axisCount + seriesList.count());
359 TRY_COMPARE(spy1.count(), axisCount + seriesList.count());
367 TRY_COMPARE(spy2.count(), 0);
360 TRY_COMPARE(spy2.count(), 0);
368 TRY_COMPARE(spy3.count(), seriesList.count());
361 TRY_COMPARE(spy3.count(), seriesList.count());
369 }
362 }
370
363
371
364
372 void tst_ChartDataSet::seriesCount_data()
365 void tst_ChartDataSet::seriesCount_data()
373 {
366 {
374 QTest::addColumn<QList<QAbstractSeries*> >("seriesList");
367 QTest::addColumn<QList<QAbstractSeries*> >("seriesList");
375 QTest::addColumn<int>("seriesCount");
368 QTest::addColumn<int>("seriesCount");
376
369
377 QTest::newRow("line,line, line, spline 3") << (QList<QAbstractSeries*>() << new QLineSeries(this) << new QLineSeries(this) << new QLineSeries(this) << new QSplineSeries(this) ) << 3;
370 QTest::newRow("line,line, line, spline 3") << (QList<QAbstractSeries*>() << new QLineSeries(this) << new QLineSeries(this) << new QLineSeries(this) << new QSplineSeries(this) ) << 3;
378 QTest::newRow("scatter,scatter, line, line 2") << (QList<QAbstractSeries*>() << new QScatterSeries(this) << new QScatterSeries(this) << new QLineSeries(this) << new QLineSeries(this) ) << 2;
371 QTest::newRow("scatter,scatter, line, line 2") << (QList<QAbstractSeries*>() << new QScatterSeries(this) << new QScatterSeries(this) << new QLineSeries(this) << new QLineSeries(this) ) << 2;
379 }
372 }
380
373
381 void tst_ChartDataSet::seriesCount()
374 void tst_ChartDataSet::seriesCount()
382 {
375 {
383 QFETCH(QList<QAbstractSeries*>, seriesList);
376 QFETCH(QList<QAbstractSeries*>, seriesList);
384 QFETCH(int, seriesCount);
377 QFETCH(int, seriesCount);
385
378
386 foreach(QAbstractSeries* series, seriesList){
379 foreach(QAbstractSeries* series, seriesList){
387 m_dataset->addSeries(series);
380 m_dataset->addSeries(series);
388 }
381 }
389
382
390 QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis *, Domain *)));
383 QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis *, Domain *)));
391 QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis *)));
384 QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis *)));
392 QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries *, Domain *)));
385 QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries *, Domain *)));
393 QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries *)));
386 QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries *)));
394
387
395 QCOMPARE(m_dataset->seriesCount(seriesList.at(0)->type()),seriesCount);
388 QCOMPARE(m_dataset->seriesCount(seriesList.at(0)->type()),seriesCount);
396 TRY_COMPARE(spy0.count(), 0);
389 TRY_COMPARE(spy0.count(), 0);
397 TRY_COMPARE(spy1.count(), 0);
390 TRY_COMPARE(spy1.count(), 0);
398 TRY_COMPARE(spy2.count(), 0);
391 TRY_COMPARE(spy2.count(), 0);
399 TRY_COMPARE(spy3.count(), 0);
392 TRY_COMPARE(spy3.count(), 0);
400 }
393 }
401
394
402 void tst_ChartDataSet::seriesIndex_data()
395 void tst_ChartDataSet::seriesIndex_data()
403 {
396 {
404 QTest::addColumn<QList<QAbstractSeries*> >("seriesList");
397 QTest::addColumn<QList<QAbstractSeries*> >("seriesList");
405
398
406 QTest::newRow("line,line, line, spline") << (QList<QAbstractSeries*>() << new QLineSeries(this) << new QLineSeries(this) << new QLineSeries(this) << new QSplineSeries(this) );
399 QTest::newRow("line,line, line, spline") << (QList<QAbstractSeries*>() << new QLineSeries(this) << new QLineSeries(this) << new QLineSeries(this) << new QSplineSeries(this) );
407 QTest::newRow("scatter,scatter, line, line") << (QList<QAbstractSeries*>() << new QScatterSeries(this) << new QScatterSeries(this) << new QLineSeries(this) << new QLineSeries(this) );
400 QTest::newRow("scatter,scatter, line, line") << (QList<QAbstractSeries*>() << new QScatterSeries(this) << new QScatterSeries(this) << new QLineSeries(this) << new QLineSeries(this) );
408 }
401 }
409
402
410 void tst_ChartDataSet::seriesIndex()
403 void tst_ChartDataSet::seriesIndex()
411 {
404 {
412
405
413 QFETCH(QList<QAbstractSeries*>, seriesList);
406 QFETCH(QList<QAbstractSeries*>, seriesList);
414
407
415 foreach(QAbstractSeries* series, seriesList) {
408 foreach(QAbstractSeries* series, seriesList) {
416 m_dataset->addSeries(series);
409 m_dataset->addSeries(series);
417 }
410 }
418
411
419 QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis *,Domain*)));
412 QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis *,Domain*)));
420 QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis *)));
413 QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis *)));
421 QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*,Domain*)));
414 QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*,Domain*)));
422 QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*)));
415 QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*)));
423
416
424 for (int i = 0; i < seriesList.count(); i++) {
417 for (int i = 0; i < seriesList.count(); i++) {
425 QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), i);
418 QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), i);
426 }
419 }
427
420
428 TRY_COMPARE(spy0.count(), 0);
421 TRY_COMPARE(spy0.count(), 0);
429 TRY_COMPARE(spy1.count(), 0);
422 TRY_COMPARE(spy1.count(), 0);
430 TRY_COMPARE(spy2.count(), 0);
423 TRY_COMPARE(spy2.count(), 0);
431 TRY_COMPARE(spy3.count(), 0);
424 TRY_COMPARE(spy3.count(), 0);
432
425
433 foreach(QAbstractSeries* series, seriesList) {
426 foreach(QAbstractSeries* series, seriesList) {
434 m_dataset->removeSeries(series);
427 m_dataset->removeSeries(series);
435 }
428 }
436
429
437 for (int i = 0; i < seriesList.count(); i++) {
430 for (int i = 0; i < seriesList.count(); i++) {
438 QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), -1);
431 QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), -1);
439 }
432 }
440
433
441 foreach(QAbstractSeries* series, seriesList) {
434 foreach(QAbstractSeries* series, seriesList) {
442 m_dataset->addSeries(series);
435 m_dataset->addSeries(series);
443 }
436 }
444
437
445 for (int i = 0; i < seriesList.count(); i++) {
438 for (int i = 0; i < seriesList.count(); i++) {
446 QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), i);
439 QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), i);
447 }
440 }
448
441
449 m_dataset->removeSeries(seriesList.at(1));
442 m_dataset->removeSeries(seriesList.at(1));
450
443
451 for (int i = 0; i < seriesList.count(); i++) {
444 for (int i = 0; i < seriesList.count(); i++) {
452 if (i != 1)
445 if (i != 1)
453 QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), i);
446 QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), i);
454 else
447 else
455 QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), -1);
448 QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), -1);
456 }
449 }
457
450
458 m_dataset->addSeries(seriesList.at(1));
451 m_dataset->addSeries(seriesList.at(1));
459
452
460 for (int i = 0; i < seriesList.count(); i++) {
453 for (int i = 0; i < seriesList.count(); i++) {
461 QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), i);
454 QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), i);
462 }
455 }
463
456
464 m_dataset->removeSeries(seriesList.at(2));
457 m_dataset->removeSeries(seriesList.at(2));
465
458
466 for (int i = 0; i < seriesList.count(); i++) {
459 for (int i = 0; i < seriesList.count(); i++) {
467 if (i != 2)
460 if (i != 2)
468 QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), i);
461 QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), i);
469 else
462 else
470 QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), -1);
463 QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), -1);
471 }
464 }
472
465
473 m_dataset->removeSeries(seriesList.at(0));
466 m_dataset->removeSeries(seriesList.at(0));
474
467
475 for (int i = 0; i < seriesList.count(); i++) {
468 for (int i = 0; i < seriesList.count(); i++) {
476 if (i != 2 && i != 0)
469 if (i != 2 && i != 0)
477 QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), i);
470 QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), i);
478 else
471 else
479 QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), -1);
472 QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), -1);
480 }
473 }
481
474
482 m_dataset->addSeries(seriesList.at(2));
475 m_dataset->addSeries(seriesList.at(2));
483 m_dataset->addSeries(seriesList.at(0));
476 m_dataset->addSeries(seriesList.at(0));
484
477
485 for (int i = 0; i < seriesList.count(); i++) {
478 for (int i = 0; i < seriesList.count(); i++) {
486 if (i == 2)
479 if (i == 2)
487 QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), 0);
480 QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), 0);
488 else if (i == 0)
481 else if (i == 0)
489 QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), 2);
482 QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), 2);
490 else
483 else
491 QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), i);
484 QCOMPARE(m_dataset->seriesIndex(seriesList.at(i)), i);
492 }
485 }
493
486
494 }
487 }
495 /*
488 /*
496 void tst_ChartDataSet::domain_data()
489 void tst_ChartDataSet::domain_data()
497 {
490 {
498 addSeries_data();
491 addSeries_data();
499 }
492 }
500
493
501 void tst_ChartDataSet::domain()
494 void tst_ChartDataSet::domain()
502 {
495 {
503 QFETCH(QLineSeries*, series0);
496 QFETCH(QLineSeries*, series0);
504 QFETCH(QAxis*, axis0);
497 QFETCH(QAxis*, axis0);
505 QFETCH(QLineSeries*, series1);
498 QFETCH(QLineSeries*, series1);
506 QFETCH(QAxis*, axis1);
499 QFETCH(QAxis*, axis1);
507 QFETCH(QLineSeries*, series2);
500 QFETCH(QLineSeries*, series2);
508 QFETCH(QAxis*, axis2);
501 QFETCH(QAxis*, axis2);
509 QFETCH(int, axisCount);
502 QFETCH(int, axisCount);
510 Q_UNUSED(axisCount);
503 Q_UNUSED(axisCount);
511
504
512 m_dataset->addSeries(series0, axis0);
505 m_dataset->addSeries(series0, axis0);
513 m_dataset->addSeries(series1, axis1);
506 m_dataset->addSeries(series1, axis1);
514 m_dataset->addSeries(series2, axis2);
507 m_dataset->addSeries(series2, axis2);
515
508
516 QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAxis *, Domain *)));
509 QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAxis *, Domain *)));
517 QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAxis *)));
510 QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAxis *)));
518 QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries *, Domain *)));
511 QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries *, Domain *)));
519 QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries *)));
512 QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries *)));
520
513
521 QVERIFY(m_dataset->domain(axis0)==m_dataset->domain(series0));
514 QVERIFY(m_dataset->domain(axis0)==m_dataset->domain(series0));
522 QVERIFY(m_dataset->domain(axis1)==m_dataset->domain(series1));
515 QVERIFY(m_dataset->domain(axis1)==m_dataset->domain(series1));
523 QVERIFY(m_dataset->domain(axis2)==m_dataset->domain(series2));
516 QVERIFY(m_dataset->domain(axis2)==m_dataset->domain(series2));
524 TRY_COMPARE(spy0.count(), 0);
517 TRY_COMPARE(spy0.count(), 0);
525 TRY_COMPARE(spy1.count(), 0);
518 TRY_COMPARE(spy1.count(), 0);
526 TRY_COMPARE(spy2.count(), 0);
519 TRY_COMPARE(spy2.count(), 0);
527 TRY_COMPARE(spy3.count(), 0);
520 TRY_COMPARE(spy3.count(), 0);
528 }
521 }
529
522
530 void tst_ChartDataSet::zoomInDomain_data()
523 void tst_ChartDataSet::zoomInDomain_data()
531 {
524 {
532 addSeries_data();
525 addSeries_data();
533 }
526 }
534
527
535 void tst_ChartDataSet::zoomInDomain()
528 void tst_ChartDataSet::zoomInDomain()
536 {
529 {
537 QFETCH(QLineSeries*, series0);
530 QFETCH(QLineSeries*, series0);
538 QFETCH(QAxis*, axis0);
531 QFETCH(QAxis*, axis0);
539 QFETCH(QLineSeries*, series1);
532 QFETCH(QLineSeries*, series1);
540 QFETCH(QAxis*, axis1);
533 QFETCH(QAxis*, axis1);
541 QFETCH(QLineSeries*, series2);
534 QFETCH(QLineSeries*, series2);
542 QFETCH(QAxis*, axis2);
535 QFETCH(QAxis*, axis2);
543 QFETCH(int, axisCount);
536 QFETCH(int, axisCount);
544 Q_UNUSED(axisCount);
537 Q_UNUSED(axisCount);
545
538
546 m_dataset->addSeries(series0, axis0);
539 m_dataset->addSeries(series0, axis0);
547 m_dataset->addSeries(series1, axis1);
540 m_dataset->addSeries(series1, axis1);
548 m_dataset->addSeries(series2, axis2);
541 m_dataset->addSeries(series2, axis2);
549
542
550 Domain* domain0 = m_dataset->domain(series0);
543 Domain* domain0 = m_dataset->domain(series0);
551 Domain* domain1 = m_dataset->domain(series1);
544 Domain* domain1 = m_dataset->domain(series1);
552 Domain* domain2 = m_dataset->domain(series2);
545 Domain* domain2 = m_dataset->domain(series2);
553
546
554 QSignalSpy spy0(domain0, SIGNAL(domainChanged(qreal,qreal,qreal,qreal)));
547 QSignalSpy spy0(domain0, SIGNAL(domainChanged(qreal,qreal,qreal,qreal)));
555 QSignalSpy spy1(domain1, SIGNAL(domainChanged(qreal,qreal,qreal,qreal)));
548 QSignalSpy spy1(domain1, SIGNAL(domainChanged(qreal,qreal,qreal,qreal)));
556 QSignalSpy spy2(domain2, SIGNAL(domainChanged(qreal,qreal,qreal,qreal)));
549 QSignalSpy spy2(domain2, SIGNAL(domainChanged(qreal,qreal,qreal,qreal)));
557
550
558 m_dataset->zoomInDomain(QRect(0,0,100,100),QSize(1000,1000));
551 m_dataset->zoomInDomain(QRect(0,0,100,100),QSize(1000,1000));
559
552
560 TRY_COMPARE(spy0.count(), 1);
553 TRY_COMPARE(spy0.count(), 1);
561 TRY_COMPARE(spy1.count(), 1);
554 TRY_COMPARE(spy1.count(), 1);
562 TRY_COMPARE(spy2.count(), 1);
555 TRY_COMPARE(spy2.count(), 1);
563 }
556 }
564
557
565 void tst_ChartDataSet::zoomOutDomain_data()
558 void tst_ChartDataSet::zoomOutDomain_data()
566 {
559 {
567 addSeries_data();
560 addSeries_data();
568 }
561 }
569
562
570 void tst_ChartDataSet::zoomOutDomain()
563 void tst_ChartDataSet::zoomOutDomain()
571 {
564 {
572 QFETCH(QLineSeries*, series0);
565 QFETCH(QLineSeries*, series0);
573 QFETCH(QAxis*, axis0);
566 QFETCH(QAxis*, axis0);
574 QFETCH(QLineSeries*, series1);
567 QFETCH(QLineSeries*, series1);
575 QFETCH(QAxis*, axis1);
568 QFETCH(QAxis*, axis1);
576 QFETCH(QLineSeries*, series2);
569 QFETCH(QLineSeries*, series2);
577 QFETCH(QAxis*, axis2);
570 QFETCH(QAxis*, axis2);
578 QFETCH(int, axisCount);
571 QFETCH(int, axisCount);
579
572
580 Q_UNUSED(axisCount);
573 Q_UNUSED(axisCount);
581
574
582 m_dataset->addSeries(series0, axis0);
575 m_dataset->addSeries(series0, axis0);
583 m_dataset->addSeries(series1, axis1);
576 m_dataset->addSeries(series1, axis1);
584 m_dataset->addSeries(series2, axis2);
577 m_dataset->addSeries(series2, axis2);
585
578
586 Domain* domain0 = m_dataset->domain(series0);
579 Domain* domain0 = m_dataset->domain(series0);
587 Domain* domain1 = m_dataset->domain(series1);
580 Domain* domain1 = m_dataset->domain(series1);
588 Domain* domain2 = m_dataset->domain(series2);
581 Domain* domain2 = m_dataset->domain(series2);
589
582
590 QSignalSpy spy0(domain0, SIGNAL(domainChanged(qreal,qreal,qreal,qreal)));
583 QSignalSpy spy0(domain0, SIGNAL(domainChanged(qreal,qreal,qreal,qreal)));
591 QSignalSpy spy1(domain1, SIGNAL(domainChanged(qreal,qreal,qreal,qreal)));
584 QSignalSpy spy1(domain1, SIGNAL(domainChanged(qreal,qreal,qreal,qreal)));
592 QSignalSpy spy2(domain2, SIGNAL(domainChanged(qreal,qreal,qreal,qreal)));
585 QSignalSpy spy2(domain2, SIGNAL(domainChanged(qreal,qreal,qreal,qreal)));
593
586
594 m_dataset->zoomOutDomain(QRect(0,0,100,100),QSize(1000,1000));
587 m_dataset->zoomOutDomain(QRect(0,0,100,100),QSize(1000,1000));
595
588
596 TRY_COMPARE(spy0.count(), 1);
589 TRY_COMPARE(spy0.count(), 1);
597 TRY_COMPARE(spy1.count(), 1);
590 TRY_COMPARE(spy1.count(), 1);
598 TRY_COMPARE(spy2.count(), 1);
591 TRY_COMPARE(spy2.count(), 1);
599 }
592 }
600
593
601 void tst_ChartDataSet::scrollDomain_data()
594 void tst_ChartDataSet::scrollDomain_data()
602 {
595 {
603 addSeries_data();
596 addSeries_data();
604 }
597 }
605
598
606 void tst_ChartDataSet::scrollDomain()
599 void tst_ChartDataSet::scrollDomain()
607 {
600 {
608 QFETCH(QLineSeries*, series0);
601 QFETCH(QLineSeries*, series0);
609 QFETCH(QAxis*, axis0);
602 QFETCH(QAxis*, axis0);
610 QFETCH(QLineSeries*, series1);
603 QFETCH(QLineSeries*, series1);
611 QFETCH(QAxis*, axis1);
604 QFETCH(QAxis*, axis1);
612 QFETCH(QLineSeries*, series2);
605 QFETCH(QLineSeries*, series2);
613 QFETCH(QAxis*, axis2);
606 QFETCH(QAxis*, axis2);
614 QFETCH(int, axisCount);
607 QFETCH(int, axisCount);
615
608
616 Q_UNUSED(axisCount);
609 Q_UNUSED(axisCount);
617
610
618 m_dataset->addSeries(series0, axis0);
611 m_dataset->addSeries(series0, axis0);
619 m_dataset->addSeries(series1, axis1);
612 m_dataset->addSeries(series1, axis1);
620 m_dataset->addSeries(series2, axis2);
613 m_dataset->addSeries(series2, axis2);
621
614
622 Domain* domain0 = m_dataset->domain(series0);
615 Domain* domain0 = m_dataset->domain(series0);
623 Domain* domain1 = m_dataset->domain(series1);
616 Domain* domain1 = m_dataset->domain(series1);
624 Domain* domain2 = m_dataset->domain(series2);
617 Domain* domain2 = m_dataset->domain(series2);
625
618
626 QSignalSpy spy0(domain0, SIGNAL(domainChanged(qreal,qreal,qreal,qreal)));
619 QSignalSpy spy0(domain0, SIGNAL(domainChanged(qreal,qreal,qreal,qreal)));
627 QSignalSpy spy1(domain1, SIGNAL(domainChanged(qreal,qreal,qreal,qreal)));
620 QSignalSpy spy1(domain1, SIGNAL(domainChanged(qreal,qreal,qreal,qreal)));
628 QSignalSpy spy2(domain2, SIGNAL(domainChanged(qreal,qreal,qreal,qreal)));
621 QSignalSpy spy2(domain2, SIGNAL(domainChanged(qreal,qreal,qreal,qreal)));
629
622
630 m_dataset->scrollDomain(10,10,QSize(1000,1000));
623 m_dataset->scrollDomain(10,10,QSize(1000,1000));
631
624
632 TRY_COMPARE(spy0.count(), 1);
625 TRY_COMPARE(spy0.count(), 1);
633 TRY_COMPARE(spy1.count(), 1);
626 TRY_COMPARE(spy1.count(), 1);
634 TRY_COMPARE(spy2.count(), 1);
627 TRY_COMPARE(spy2.count(), 1);
635 }
628 }
636 */
629 */
637 QTEST_MAIN(tst_ChartDataSet)
630 QTEST_MAIN(tst_ChartDataSet)
638 #include "tst_chartdataset.moc"
631 #include "tst_chartdataset.moc"
639
632
General Comments 0
You need to be logged in to leave comments. Login now