##// END OF EJS Templates
barseries test fix
sauimone -
r1598:c12edccc36d7
parent child
Show More
@@ -1,277 +1,277
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 <qbarseries.h>
22 #include <qbarseries.h>
23 #include <qbarset.h>
23 #include <qbarset.h>
24 #include <qchartview.h>
24 #include <qchartview.h>
25 #include <qchart.h>
25 #include <qchart.h>
26 #include <QBarModelMapper>
26 #include <QBarModelMapper>
27 #include <QStandardItemModel>
27 #include <QStandardItemModel>
28 #include "tst_definitions.h"
28 #include "tst_definitions.h"
29
29
30 QTCOMMERCIALCHART_USE_NAMESPACE
30 QTCOMMERCIALCHART_USE_NAMESPACE
31
31
32 Q_DECLARE_METATYPE(QBarSet*)
32 Q_DECLARE_METATYPE(QBarSet*)
33
33
34 class tst_QGroupedBarSeries : public QObject
34 class tst_QGroupedBarSeries : public QObject
35 {
35 {
36 Q_OBJECT
36 Q_OBJECT
37
37
38 public slots:
38 public slots:
39 void initTestCase();
39 void initTestCase();
40 void cleanupTestCase();
40 void cleanupTestCase();
41 void init();
41 void init();
42 void cleanup();
42 void cleanup();
43
43
44 private slots:
44 private slots:
45 void qgroupedbarseries_data();
45 void qgroupedbarseries_data();
46 void qgroupedbarseries();
46 void qgroupedbarseries();
47 void type_data();
47 void type_data();
48 void type();
48 void type();
49 void mouseclicked_data();
49 void mouseclicked_data();
50 void mouseclicked();
50 void mouseclicked();
51 void mousehovered_data();
51 void mousehovered_data();
52 void mousehovered();
52 void mousehovered();
53
53
54 private:
54 private:
55 QBarSeries* m_barseries;
55 QBarSeries* m_barseries;
56 };
56 };
57
57
58 void tst_QGroupedBarSeries::initTestCase()
58 void tst_QGroupedBarSeries::initTestCase()
59 {
59 {
60 qRegisterMetaType<QBarSet*>("QBarSet*");
60 qRegisterMetaType<QBarSet*>("QBarSet*");
61 }
61 }
62
62
63 void tst_QGroupedBarSeries::cleanupTestCase()
63 void tst_QGroupedBarSeries::cleanupTestCase()
64 {
64 {
65 }
65 }
66
66
67 void tst_QGroupedBarSeries::init()
67 void tst_QGroupedBarSeries::init()
68 {
68 {
69 m_barseries = new QBarSeries();
69 m_barseries = new QBarSeries();
70 }
70 }
71
71
72 void tst_QGroupedBarSeries::cleanup()
72 void tst_QGroupedBarSeries::cleanup()
73 {
73 {
74 delete m_barseries;
74 delete m_barseries;
75 m_barseries = 0;
75 m_barseries = 0;
76 }
76 }
77
77
78 void tst_QGroupedBarSeries::qgroupedbarseries_data()
78 void tst_QGroupedBarSeries::qgroupedbarseries_data()
79 {
79 {
80 }
80 }
81
81
82 void tst_QGroupedBarSeries::qgroupedbarseries()
82 void tst_QGroupedBarSeries::qgroupedbarseries()
83 {
83 {
84 QBarSeries *barseries = new QBarSeries();
84 QBarSeries *barseries = new QBarSeries();
85 QVERIFY(barseries != 0);
85 QVERIFY(barseries != 0);
86 }
86 }
87
87
88 void tst_QGroupedBarSeries::type_data()
88 void tst_QGroupedBarSeries::type_data()
89 {
89 {
90
90
91 }
91 }
92
92
93 void tst_QGroupedBarSeries::type()
93 void tst_QGroupedBarSeries::type()
94 {
94 {
95 QVERIFY(m_barseries->type() == QAbstractSeries::SeriesTypeGroupedBar);
95 QVERIFY(m_barseries->type() == QAbstractSeries::SeriesTypeBar);
96 }
96 }
97
97
98 void tst_QGroupedBarSeries::mouseclicked_data()
98 void tst_QGroupedBarSeries::mouseclicked_data()
99 {
99 {
100
100
101 }
101 }
102
102
103 void tst_QGroupedBarSeries::mouseclicked()
103 void tst_QGroupedBarSeries::mouseclicked()
104 {
104 {
105 QBarSeries* series = new QBarSeries();
105 QBarSeries* series = new QBarSeries();
106
106
107 QBarSet* set1 = new QBarSet(QString("set 1"));
107 QBarSet* set1 = new QBarSet(QString("set 1"));
108 *set1 << 10 << 10 << 10;
108 *set1 << 10 << 10 << 10;
109 series->append(set1);
109 series->append(set1);
110
110
111 QBarSet* set2 = new QBarSet(QString("set 2"));
111 QBarSet* set2 = new QBarSet(QString("set 2"));
112 *set2 << 10 << 10 << 10;
112 *set2 << 10 << 10 << 10;
113 series->append(set2);
113 series->append(set2);
114
114
115 QSignalSpy seriesSpy(series,SIGNAL(clicked(int, QBarSet*)));
115 QSignalSpy seriesSpy(series,SIGNAL(clicked(int, QBarSet*)));
116
116
117 QChartView view(new QChart());
117 QChartView view(new QChart());
118 view.resize(400,300);
118 view.resize(400,300);
119 view.chart()->addSeries(series);
119 view.chart()->addSeries(series);
120 view.show();
120 view.show();
121 QTest::qWaitForWindowShown(&view);
121 QTest::qWaitForWindowShown(&view);
122
122
123 //====================================================================================
123 //====================================================================================
124 // barset 1, category test1
124 // barset 1, category test1
125 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(95,143));
125 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(95,143));
126 QCoreApplication::processEvents(QEventLoop::AllEvents, 1000);
126 QCoreApplication::processEvents(QEventLoop::AllEvents, 1000);
127
127
128 QCOMPARE(seriesSpy.count(), 1);
128 QCOMPARE(seriesSpy.count(), 1);
129
129
130 QList<QVariant> seriesSpyArg = seriesSpy.takeFirst();
130 QList<QVariant> seriesSpyArg = seriesSpy.takeFirst();
131 QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(1)), set1);
131 QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(1)), set1);
132 QVERIFY(seriesSpyArg.at(0).type() == QVariant::Int);
132 QVERIFY(seriesSpyArg.at(0).type() == QVariant::Int);
133 QVERIFY(seriesSpyArg.at(0).toInt() == 0);
133 QVERIFY(seriesSpyArg.at(0).toInt() == 0);
134
134
135 //====================================================================================
135 //====================================================================================
136 // barset 1, category test2
136 // barset 1, category test2
137 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(187,143));
137 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(187,143));
138 QCoreApplication::processEvents(QEventLoop::AllEvents, 1000);
138 QCoreApplication::processEvents(QEventLoop::AllEvents, 1000);
139
139
140 QCOMPARE(seriesSpy.count(), 1);
140 QCOMPARE(seriesSpy.count(), 1);
141
141
142 seriesSpyArg = seriesSpy.takeFirst();
142 seriesSpyArg = seriesSpy.takeFirst();
143 QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(1)), set1);
143 QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(1)), set1);
144 QVERIFY(seriesSpyArg.at(0).type() == QVariant::Int);
144 QVERIFY(seriesSpyArg.at(0).type() == QVariant::Int);
145 QVERIFY(seriesSpyArg.at(0).toInt() == 1);
145 QVERIFY(seriesSpyArg.at(0).toInt() == 1);
146
146
147 //====================================================================================
147 //====================================================================================
148 // barset 1, category test3
148 // barset 1, category test3
149 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(280,143));
149 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(280,143));
150 QCoreApplication::processEvents(QEventLoop::AllEvents, 1000);
150 QCoreApplication::processEvents(QEventLoop::AllEvents, 1000);
151
151
152 QCOMPARE(seriesSpy.count(), 1);
152 QCOMPARE(seriesSpy.count(), 1);
153
153
154 seriesSpyArg = seriesSpy.takeFirst();
154 seriesSpyArg = seriesSpy.takeFirst();
155 QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(1)), set1);
155 QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(1)), set1);
156 QVERIFY(seriesSpyArg.at(0).type() == QVariant::Int);
156 QVERIFY(seriesSpyArg.at(0).type() == QVariant::Int);
157 QVERIFY(seriesSpyArg.at(0).toInt() == 2);
157 QVERIFY(seriesSpyArg.at(0).toInt() == 2);
158
158
159 //====================================================================================
159 //====================================================================================
160 // barset 2, category test1
160 // barset 2, category test1
161 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(118,143));
161 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(118,143));
162 QCoreApplication::processEvents(QEventLoop::AllEvents, 1000);
162 QCoreApplication::processEvents(QEventLoop::AllEvents, 1000);
163
163
164 QCOMPARE(seriesSpy.count(), 1);
164 QCOMPARE(seriesSpy.count(), 1);
165
165
166 seriesSpyArg = seriesSpy.takeFirst();
166 seriesSpyArg = seriesSpy.takeFirst();
167 QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(1)), set2);
167 QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(1)), set2);
168 QVERIFY(seriesSpyArg.at(0).type() == QVariant::Int);
168 QVERIFY(seriesSpyArg.at(0).type() == QVariant::Int);
169 QVERIFY(seriesSpyArg.at(0).toInt() == 0);
169 QVERIFY(seriesSpyArg.at(0).toInt() == 0);
170
170
171 //====================================================================================
171 //====================================================================================
172 // barset 2, category test2
172 // barset 2, category test2
173 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(210,143));
173 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(210,143));
174 QCoreApplication::processEvents(QEventLoop::AllEvents, 1000);
174 QCoreApplication::processEvents(QEventLoop::AllEvents, 1000);
175
175
176 QCOMPARE(seriesSpy.count(), 1);
176 QCOMPARE(seriesSpy.count(), 1);
177
177
178 seriesSpyArg = seriesSpy.takeFirst();
178 seriesSpyArg = seriesSpy.takeFirst();
179 QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(1)), set2);
179 QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(1)), set2);
180 QVERIFY(seriesSpyArg.at(0).type() == QVariant::Int);
180 QVERIFY(seriesSpyArg.at(0).type() == QVariant::Int);
181 QVERIFY(seriesSpyArg.at(0).toInt() == 1);
181 QVERIFY(seriesSpyArg.at(0).toInt() == 1);
182
182
183 //====================================================================================
183 //====================================================================================
184 // barset 2, category test3
184 // barset 2, category test3
185 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(303,143));
185 QTest::mouseClick(view.viewport(), Qt::LeftButton, 0, QPoint(303,143));
186 QCoreApplication::processEvents(QEventLoop::AllEvents, 1000);
186 QCoreApplication::processEvents(QEventLoop::AllEvents, 1000);
187
187
188 QCOMPARE(seriesSpy.count(), 1);
188 QCOMPARE(seriesSpy.count(), 1);
189
189
190 seriesSpyArg = seriesSpy.takeFirst();
190 seriesSpyArg = seriesSpy.takeFirst();
191 QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(1)), set2);
191 QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(1)), set2);
192 QVERIFY(seriesSpyArg.at(0).type() == QVariant::Int);
192 QVERIFY(seriesSpyArg.at(0).type() == QVariant::Int);
193 QVERIFY(seriesSpyArg.at(0).toInt() == 2);
193 QVERIFY(seriesSpyArg.at(0).toInt() == 2);
194 }
194 }
195
195
196 void tst_QGroupedBarSeries::mousehovered_data()
196 void tst_QGroupedBarSeries::mousehovered_data()
197 {
197 {
198
198
199 }
199 }
200
200
201 void tst_QGroupedBarSeries::mousehovered()
201 void tst_QGroupedBarSeries::mousehovered()
202 {
202 {
203 QBarSeries* series = new QBarSeries();
203 QBarSeries* series = new QBarSeries();
204
204
205 QBarSet* set1 = new QBarSet(QString("set 1"));
205 QBarSet* set1 = new QBarSet(QString("set 1"));
206 *set1 << 10 << 10 << 10;
206 *set1 << 10 << 10 << 10;
207 series->append(set1);
207 series->append(set1);
208
208
209 QBarSet* set2 = new QBarSet(QString("set 2"));
209 QBarSet* set2 = new QBarSet(QString("set 2"));
210 *set2 << 10 << 10 << 10;
210 *set2 << 10 << 10 << 10;
211 series->append(set2);
211 series->append(set2);
212
212
213 QSignalSpy seriesSpy(series,SIGNAL(hovered(bool, QBarSet*)));
213 QSignalSpy seriesSpy(series,SIGNAL(hovered(bool, QBarSet*)));
214
214
215 QChartView view(new QChart());
215 QChartView view(new QChart());
216 view.resize(400,300);
216 view.resize(400,300);
217 view.chart()->addSeries(series);
217 view.chart()->addSeries(series);
218 view.show();
218 view.show();
219 QTest::qWaitForWindowShown(&view);
219 QTest::qWaitForWindowShown(&view);
220
220
221 //this is hack since view does not get events otherwise
221 //this is hack since view does not get events otherwise
222 view.setMouseTracking(true);
222 view.setMouseTracking(true);
223
223
224 //=======================================================================
224 //=======================================================================
225 // move mouse to left border
225 // move mouse to left border
226 qDebug() << "move mouse to left border";
226 qDebug() << "move mouse to left border";
227 QTest::mouseMove(view.viewport(), QPoint(0, 143));
227 QTest::mouseMove(view.viewport(), QPoint(0, 143));
228 QCoreApplication::processEvents(QEventLoop::AllEvents, 10000);
228 QCoreApplication::processEvents(QEventLoop::AllEvents, 10000);
229 TRY_COMPARE(seriesSpy.count(), 0);
229 TRY_COMPARE(seriesSpy.count(), 0);
230
230
231 //=======================================================================
231 //=======================================================================
232 // move mouse on top of set1
232 // move mouse on top of set1
233 qDebug() << "move mouse on top of set1";
233 qDebug() << "move mouse on top of set1";
234 QTest::mouseMove(view.viewport(), QPoint(95,143));
234 QTest::mouseMove(view.viewport(), QPoint(95,143));
235 TRY_COMPARE(seriesSpy.count(), 1);
235 TRY_COMPARE(seriesSpy.count(), 1);
236
236
237 QList<QVariant> seriesSpyArg = seriesSpy.takeFirst();
237 QList<QVariant> seriesSpyArg = seriesSpy.takeFirst();
238 QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(1)), set1);
238 QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(1)), set1);
239 QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool);
239 QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool);
240 QVERIFY(seriesSpyArg.at(0).toBool() == true);
240 QVERIFY(seriesSpyArg.at(0).toBool() == true);
241
241
242 //=======================================================================
242 //=======================================================================
243 // move mouse from top of set1 to top of set2
243 // move mouse from top of set1 to top of set2
244 qDebug() << "move mouse from top of set1 to top of set2";
244 qDebug() << "move mouse from top of set1 to top of set2";
245 QTest::mouseMove(view.viewport(), QPoint(118,143));
245 QTest::mouseMove(view.viewport(), QPoint(118,143));
246 TRY_COMPARE(seriesSpy.count(), 2);
246 TRY_COMPARE(seriesSpy.count(), 2);
247
247
248 // should leave set1
248 // should leave set1
249 seriesSpyArg = seriesSpy.takeFirst();
249 seriesSpyArg = seriesSpy.takeFirst();
250 QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(1)), set1);
250 QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(1)), set1);
251 QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool);
251 QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool);
252 QVERIFY(seriesSpyArg.at(0).toBool() == false);
252 QVERIFY(seriesSpyArg.at(0).toBool() == false);
253
253
254 // should enter set2
254 // should enter set2
255 seriesSpyArg = seriesSpy.takeFirst();
255 seriesSpyArg = seriesSpy.takeFirst();
256 QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(1)), set2);
256 QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(1)), set2);
257 QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool);
257 QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool);
258 QVERIFY(seriesSpyArg.at(0).toBool() == true);
258 QVERIFY(seriesSpyArg.at(0).toBool() == true);
259
259
260 //=======================================================================
260 //=======================================================================
261 // move mouse from top of set2 to background
261 // move mouse from top of set2 to background
262 qDebug() << "move mouse from top of set2 to background";
262 qDebug() << "move mouse from top of set2 to background";
263
263
264 QTest::mouseMove(view.viewport(), QPoint(118,0));
264 QTest::mouseMove(view.viewport(), QPoint(118,0));
265 TRY_COMPARE(seriesSpy.count(), 1);
265 TRY_COMPARE(seriesSpy.count(), 1);
266
266
267 // should leave set2
267 // should leave set2
268 seriesSpyArg = seriesSpy.takeFirst();
268 seriesSpyArg = seriesSpy.takeFirst();
269 QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(1)), set2);
269 QCOMPARE(qvariant_cast<QBarSet*>(seriesSpyArg.at(1)), set2);
270 QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool);
270 QVERIFY(seriesSpyArg.at(0).type() == QVariant::Bool);
271 QVERIFY(seriesSpyArg.at(0).toBool() == false);
271 QVERIFY(seriesSpyArg.at(0).toBool() == false);
272 }
272 }
273
273
274 QTEST_MAIN(tst_QGroupedBarSeries)
274 QTEST_MAIN(tst_QGroupedBarSeries)
275
275
276 #include "tst_qgroupedbarseries.moc"
276 #include "tst_qgroupedbarseries.moc"
277
277
General Comments 0
You need to be logged in to leave comments. Login now