##// END OF EJS Templates
Arm test fix
Marek Rosa -
r2391:f36ae3238176
parent child
Show More
@@ -1,403 +1,410
1 1 /****************************************************************************
2 2 **
3 3 ** Copyright (C) 2012 Digia Plc
4 4 ** All rights reserved.
5 5 ** For any questions to Digia, please use contact form at http://qt.digia.com
6 6 **
7 7 ** This file is part of the Qt Commercial Charts Add-on.
8 8 **
9 9 ** $QT_BEGIN_LICENSE$
10 10 ** Licensees holding valid Qt Commercial licenses may use this file in
11 11 ** accordance with the Qt Commercial License Agreement provided with the
12 12 ** Software or, alternatively, in accordance with the terms contained in
13 13 ** a written agreement between you and Digia.
14 14 **
15 15 ** If you have questions regarding the use of this file, please use
16 16 ** contact form at http://qt.digia.com
17 17 ** $QT_END_LICENSE$
18 18 **
19 19 ****************************************************************************/
20 20 #ifndef BUILD_PRIVATE_UNIT_TESTS
21 21 #include <QtTest/QtTest>
22 22
23 23 class tst_ChartDataSet: public QObject {
24 24
25 25 Q_OBJECT
26 26
27 27 private Q_SLOTS:
28 28 void skip();
29 29
30 30 };
31 31
32 32 void tst_ChartDataSet::skip()
33 33 {
34 34 #if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0))
35 35 QSKIP("This test requires the debug version of library");
36 36 #else
37 37 QSKIP("This test requires the debug version of library", SkipAll);
38 38 #endif
39 39 }
40 40
41 41 QTEST_MAIN(tst_ChartDataSet)
42 42 #include "tst_chartdataset.moc"
43 43
44 44 #else
45 45
46 46 #include <QtTest/QtTest>
47 47 #include <qabstractaxis.h>
48 48 #include <qvalueaxis.h>
49 49 #include <qbarcategoryaxis.h>
50 50 #include <qcategoryaxis.h>
51 #include <qdatetimeaxis.h>
51 #ifndef QT_ON_ARM
52 #include "qdatetimeaxis.h"
53 #endif
52 54 #include <qlineseries.h>
53 55 #include <qareaseries.h>
54 56 #include <qscatterseries.h>
55 57 #include <qsplineseries.h>
56 58 #include <qpieseries.h>
57 59 #include <qbarseries.h>
58 60 #include <qpercentbarseries.h>
59 61 #include <qstackedbarseries.h>
60 62 #include <private/chartdataset_p.h>
61 63 #include <private/abstractdomain_p.h>
62 64 #include <tst_definitions.h>
63 65
64 66 QTCOMMERCIALCHART_USE_NAMESPACE
65 67
66 68 Q_DECLARE_METATYPE(AbstractDomain *)
67 69 Q_DECLARE_METATYPE(QAbstractAxis *)
68 70 Q_DECLARE_METATYPE(QAbstractSeries *)
69 71 Q_DECLARE_METATYPE(QList<QAbstractSeries *>)
70 72 Q_DECLARE_METATYPE(QList<QAbstractAxis *>)
71 73 Q_DECLARE_METATYPE(Qt::Alignment)
72 74 Q_DECLARE_METATYPE(QList<Qt::Alignment>)
73 75 Q_DECLARE_METATYPE(QLineSeries *)
74 76
75 77 class tst_ChartDataSet: public QObject {
76 78
77 79 Q_OBJECT
78 80 public:
79 81 tst_ChartDataSet():m_dataset(0){};
80 82
81 83 public Q_SLOTS:
82 84 void initTestCase();
83 85 void cleanupTestCase();
84 86 void init();
85 87 void cleanup();
86 88
87 89 private Q_SLOTS:
88 90 void chartdataset_data();
89 91 void chartdataset();
90 92 void addSeries_data();
91 93 void addSeries();
92 94 void removeSeries_data();
93 95 void removeSeries();
94 96 void addAxis_data();
95 97 void addAxis();
96 98 void removeAxis_data();
97 99 void removeAxis();
98 100 void attachAxis_data();
99 101 void attachAxis();
100 102 void detachAxis_data();
101 103 void detachAxis();
102 104
103 105 private:
104 106 ChartDataSet* m_dataset;
105 107 };
106 108
107 109 void tst_ChartDataSet::initTestCase()
108 110 {
109 111 qRegisterMetaType<AbstractDomain*>();
110 112 qRegisterMetaType<QAbstractAxis*>();
111 113 qRegisterMetaType<QAbstractSeries*>();
112 114 }
113 115
114 116 void tst_ChartDataSet::cleanupTestCase()
115 117 {
116 118 }
117 119
118 120 void tst_ChartDataSet::init()
119 121 {
120 122 Q_ASSERT(!m_dataset);
121 123 m_dataset = new ChartDataSet(0);
122 124 }
123 125
124 126
125 127 void tst_ChartDataSet::cleanup()
126 128 {
127 129 delete m_dataset;
128 130 m_dataset=0;
129 131 }
130 132
131 133 void tst_ChartDataSet::chartdataset_data()
132 134 {
133 135 }
134 136
135 137 void tst_ChartDataSet::chartdataset()
136 138 {
137 139 QVERIFY(m_dataset->axes().isEmpty());
138 140 QVERIFY(m_dataset->series().isEmpty());
139 141 m_dataset->createDefaultAxes();
140 142 }
141 143
142 144
143 145 void tst_ChartDataSet::addSeries_data()
144 146 {
145 147 QTest::addColumn<QAbstractSeries*>("series");
146 148
147 149 QAbstractSeries* line = new QLineSeries(this);
148 150 QTest::newRow("line") << line;
149 151
150 152 QAbstractSeries* area = new QAreaSeries(static_cast<QLineSeries*>(new QLineSeries(this)));
151 153 QTest::newRow("area") << area;
152 154
153 155 QAbstractSeries* scatter = new QScatterSeries(this);
154 156 QTest::newRow("scatter") << scatter;
155 157
156 158 QAbstractSeries* spline = new QSplineSeries(this);
157 159 QTest::newRow("spline") << spline;
158 160
159 161 QAbstractSeries* pie = new QPieSeries(this);
160 162 QTest::newRow("pie") << pie;
161 163
162 164 QAbstractSeries* bar = new QBarSeries(this);
163 165 QTest::newRow("bar") << bar;
164 166
165 167 QAbstractSeries* percent = new QPercentBarSeries(this);
166 168 QTest::newRow("percent") << percent;
167 169
168 170 QAbstractSeries* stacked = new QStackedBarSeries(this);
169 171 QTest::newRow("stacked") << stacked;
170 172 }
171 173
172 174 void tst_ChartDataSet::addSeries()
173 175 {
174 176 QFETCH(QAbstractSeries*, series);
175 177 QVERIFY(m_dataset->series().isEmpty());
176 178
177 179 QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*)));
178 180 QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*)));
179 181 QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*)));
180 182 QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*)));
181 183
182 184 m_dataset->addSeries(series);
183 185
184 186 QCOMPARE(m_dataset->series().count(),1);
185 187 TRY_COMPARE(spy0.count(), 0);
186 188 TRY_COMPARE(spy1.count(), 0);
187 189 TRY_COMPARE(spy2.count(), 1);
188 190 TRY_COMPARE(spy3.count(), 0);
189 191 }
190 192
191 193 void tst_ChartDataSet::removeSeries_data()
192 194 {
193 195 addSeries_data();
194 196 }
195 197
196 198 void tst_ChartDataSet::removeSeries()
197 199 {
198 200 QFETCH(QAbstractSeries*, series);
199 201 QVERIFY(m_dataset->series().isEmpty());
200 202 m_dataset->addSeries(series);
201 203
202 204 QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*)));
203 205 QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*)));
204 206 QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*)));
205 207 QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*)));
206 208
207 209 m_dataset->removeSeries(series);
208 210
209 211 QCOMPARE(m_dataset->series().count(),0);
210 212 TRY_COMPARE(spy0.count(), 0);
211 213 TRY_COMPARE(spy1.count(), 0);
212 214 TRY_COMPARE(spy2.count(), 0);
213 215 TRY_COMPARE(spy3.count(), 1);
214 216 }
215 217
216 218 void tst_ChartDataSet::addAxis_data()
217 219 {
218 220 QTest::addColumn<QAbstractAxis*>("axis");
219 221 QAbstractAxis* value = new QValueAxis(this);
220 222 QAbstractAxis* category = new QCategoryAxis(this);
221 223 QAbstractAxis* barcategory = new QBarCategoryAxis(this);
224 #ifndef Q_WS_QWS
222 225 QAbstractAxis* datetime = new QDateTimeAxis(this);
226 #endif
223 227
224 228 QTest::newRow("value") << value;
225 229 QTest::newRow("category") << category;
226 230 QTest::newRow("barcategory") << barcategory;
231 #ifndef Q_WS_QWS
227 232 QTest::newRow("datetime") << datetime;
233 #endif
228 234 }
229 235
230 236 void tst_ChartDataSet::addAxis()
231 237 {
232 238 QFETCH(QAbstractAxis*, axis);
233 239 QVERIFY(m_dataset->axes().isEmpty());
234 240
235 241 QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*)));
236 242 QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*)));
237 243 QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*)));
238 244 QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*)));
239 245
240 246 m_dataset->addAxis(axis,Qt::AlignBottom);
241 247
242 248 QCOMPARE(m_dataset->axes().count(),1);
243 249 TRY_COMPARE(spy0.count(), 1);
244 250 TRY_COMPARE(spy1.count(), 0);
245 251 TRY_COMPARE(spy2.count(), 0);
246 252 TRY_COMPARE(spy3.count(), 0);
247 253 }
248 254
249 255 void tst_ChartDataSet::removeAxis_data()
250 256 {
251 257 addAxis_data();
252 258 }
253 259
254 260 void tst_ChartDataSet::removeAxis()
255 261 {
256 262 QFETCH(QAbstractAxis*, axis);
257 263 QVERIFY(m_dataset->series().isEmpty());
258 264 m_dataset->addAxis(axis,Qt::AlignBottom);
259 265
260 266 QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*)));
261 267 QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*)));
262 268 QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*)));
263 269 QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*)));
264 270
265 271 m_dataset->removeAxis(axis);
266 272
267 273 QCOMPARE(m_dataset->axes().count(),0);
268 274 QCOMPARE(m_dataset->series().count(),0);
269 275 TRY_COMPARE(spy0.count(), 0);
270 276 TRY_COMPARE(spy1.count(), 1);
271 277 TRY_COMPARE(spy2.count(), 0);
272 278 TRY_COMPARE(spy3.count(), 0);
273 279 }
274 280
275 281 void tst_ChartDataSet::attachAxis_data()
276 282 {
277 283
278 284 QTest::addColumn<QList<QAbstractSeries*> >("series");
279 285 QTest::addColumn<QList<QAbstractAxis*> >("axis");
280 286 QTest::addColumn<QList<Qt::Alignment> >("alignment");
281 287 QTest::addColumn<QAbstractSeries*>("attachSeries");
282 288 QTest::addColumn<QAbstractAxis*>("attachAxis");
283 289 QTest::addColumn<bool>("success");
284 290
285 291 //QAbstractSeries* area = new QAreaSeries(static_cast<QLineSeries*>(line));
286 292 QAbstractSeries* scatter = new QScatterSeries(this);
287 293 QAbstractSeries* spline = new QSplineSeries(this);
288 294 QAbstractSeries* pie = new QPieSeries(this);
289 295 QAbstractSeries* bar = new QBarSeries(this);
290 296 QAbstractSeries* percent = new QPercentBarSeries(this);
291 297 QAbstractSeries* stacked = new QStackedBarSeries(this);
292 298
293 299 QAbstractAxis* category = new QCategoryAxis(this);
294 300 QAbstractAxis* barcategory = new QBarCategoryAxis(this);
301 #ifndef Q_WS_QWS
295 302 QAbstractAxis* datetime = new QDateTimeAxis(this);
296
303 #endif
297 304 {
298 305 QList<QAbstractSeries*> series;
299 306 QList<QAbstractAxis*> axes;
300 307 QList<Qt::Alignment> alignment;
301 308 QAbstractSeries* line = new QLineSeries(this);
302 309 QAbstractAxis* value1 = new QValueAxis(this);
303 310 QAbstractAxis* value2 = new QValueAxis(this);
304 311 series << line << 0;
305 312 axes << value1 << value2;
306 313 alignment << Qt::AlignBottom << Qt::AlignLeft;
307 314 QTest::newRow("first") << series << axes << alignment << line << value2 << true ;
308 315 }
309 316
310 317 {
311 318 QList<QAbstractSeries*> series;
312 319 QList<QAbstractAxis*> axes;
313 320 QList<Qt::Alignment> alignment;
314 321 QAbstractSeries* line = new QLineSeries(this);
315 322 QAbstractAxis* value1 = new QValueAxis(this);
316 323 QAbstractAxis* value2 = new QValueAxis(this);
317 324 series << 0 << line;
318 325 axes << value1 << value2;
319 326 alignment << Qt::AlignBottom << Qt::AlignLeft;
320 327 QTest::newRow("second") << series << axes << alignment << line << value1 << true;
321 328 }
322 329
323 330 }
324 331
325 332 void tst_ChartDataSet::attachAxis()
326 333 {
327 334 QFETCH(QList<QAbstractSeries*>, series);
328 335 QFETCH(QList<QAbstractAxis*>, axis);
329 336 QFETCH(QList<Qt::Alignment>, alignment);
330 337 QFETCH(QAbstractSeries*, attachSeries);
331 338 QFETCH(QAbstractAxis*, attachAxis);
332 339 QFETCH(bool, success);
333 340
334 341 Q_ASSERT(series.count() == axis.count());
335 342 Q_ASSERT(series.count() == alignment.count());
336 343
337 344 QVERIFY(m_dataset->series().isEmpty());
338 345 QVERIFY(m_dataset->axes().isEmpty());
339 346
340 347 for(int i = 0 ; i < series.count() ; i++){
341 348 if(series[i]) m_dataset->addSeries(series[i]);
342 349 if(axis[i]) m_dataset->addAxis(axis[i],alignment[i]);
343 350 if(series[i] && axis[i]) m_dataset->attachAxis(series[i],axis[i]);
344 351 }
345 352
346 353 QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*)));
347 354 QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*)));
348 355 QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*)));
349 356 QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*)));
350 357
351 358 QCOMPARE(m_dataset->attachAxis(attachSeries,attachAxis),success);
352 359
353 360 }
354 361
355 362 void tst_ChartDataSet::detachAxis_data()
356 363 {
357 364 QTest::addColumn<QList<QAbstractSeries*> >("series");
358 365 QTest::addColumn<QList<QAbstractAxis*> >("axis");
359 366 QTest::addColumn<QAbstractSeries*>("detachSeries");
360 367 QTest::addColumn<QAbstractAxis*>("detachAxis");
361 368 QTest::addColumn<bool>("success");
362 369
363 370 {
364 371 QList<QAbstractSeries*> series;
365 372 QList<QAbstractAxis*> axes;
366 373 QAbstractSeries* line = new QLineSeries(this);
367 374 QAbstractAxis* value = new QValueAxis(this);
368 375 series << line;
369 376 axes << value;
370 377 QTest::newRow("first") << series << axes << line << value << true;
371 378 }
372 379 }
373 380
374 381 void tst_ChartDataSet::detachAxis()
375 382 {
376 383 QFETCH(QList<QAbstractSeries*>, series);
377 384 QFETCH(QList<QAbstractAxis*>, axis);
378 385 QFETCH(QAbstractSeries*, detachSeries);
379 386 QFETCH(QAbstractAxis*, detachAxis);
380 387 QFETCH(bool, success);
381 388
382 389 Q_ASSERT(series.count() == axis.count());
383 390
384 391 QVERIFY(m_dataset->series().isEmpty());
385 392 QVERIFY(m_dataset->axes().isEmpty());
386 393
387 394 for(int i = 0; i < series.count(); i++) {
388 395 if(series[i]) m_dataset->addSeries(series[i]);
389 396 if(axis[i]) m_dataset->addAxis(axis[i],Qt::AlignBottom);
390 397 if(series[i] && axis[i]) m_dataset->attachAxis(series[i],axis[i]);
391 398 }
392 399
393 400 QSignalSpy spy0(m_dataset, SIGNAL(axisAdded(QAbstractAxis*)));
394 401 QSignalSpy spy1(m_dataset, SIGNAL(axisRemoved(QAbstractAxis*)));
395 402 QSignalSpy spy2(m_dataset, SIGNAL(seriesAdded(QAbstractSeries*)));
396 403 QSignalSpy spy3(m_dataset, SIGNAL(seriesRemoved(QAbstractSeries*)));
397 404
398 405 QCOMPARE(m_dataset->detachAxis(detachSeries,detachAxis),success);
399 406 }
400 407
401 408 QTEST_MAIN(tst_ChartDataSet)
402 409 #include "tst_chartdataset.moc"
403 410 #endif
General Comments 0
You need to be logged in to leave comments. Login now