1/****************************************************************************
2**
3** Copyright (C) 2016 The Qt Company Ltd.
4** Contact: https://www.qt.io/licensing/
5**
6** This file is part of the Qt Data Visualization module of the Qt Toolkit.
7**
8** $QT_BEGIN_LICENSE:GPL$
9** Commercial License Usage
10** Licensees holding valid commercial Qt licenses may use this file in
11** accordance with the commercial license agreement provided with the
12** Software or, alternatively, in accordance with the terms contained in
13** a written agreement between you and The Qt Company. For licensing terms
14** and conditions see https://www.qt.io/terms-conditions. For further
15** information use the contact form at https://www.qt.io/contact-us.
16**
17** GNU General Public License Usage
18** Alternatively, this file may be used under the terms of the GNU
19** General Public License version 3 or (at your option) any later version
20** approved by the KDE Free Qt Foundation. The licenses are as published by
21** the Free Software Foundation and appearing in the file LICENSE.GPL3
22** included in the packaging of this file. Please review the following
23** information to ensure the GNU General Public License requirements will
24** be met: https://www.gnu.org/licenses/gpl-3.0.html.
25**
26** $QT_END_LICENSE$
27**
28****************************************************************************/
29
30#include <QtTest/QtTest>
31
32#include <QtDataVisualization/QScatter3DSeries>
33
34using namespace QtDataVisualization;
35
36class tst_series: public QObject
37{
38 Q_OBJECT
39
40private slots:
41 void initTestCase();
42 void cleanupTestCase();
43 void init();
44 void cleanup();
45
46 void construct();
47
48 void initialProperties();
49 void initializeProperties();
50
51private:
52 QScatter3DSeries *m_series;
53};
54
55void tst_series::initTestCase()
56{
57}
58
59void tst_series::cleanupTestCase()
60{
61}
62
63void tst_series::init()
64{
65 m_series = new QScatter3DSeries();
66}
67
68void tst_series::cleanup()
69{
70 delete m_series;
71}
72
73void tst_series::construct()
74{
75 QScatter3DSeries *series = new QScatter3DSeries();
76 QVERIFY(series);
77 delete series;
78
79 QScatterDataProxy *proxy = new QScatterDataProxy();
80
81 series = new QScatter3DSeries(proxy);
82 QVERIFY(series);
83 QCOMPARE(series->dataProxy(), proxy);
84 delete series;
85}
86
87void tst_series::initialProperties()
88{
89 QVERIFY(m_series);
90
91 QVERIFY(m_series->dataProxy());
92 QCOMPARE(m_series->itemSize(), 0.0f);
93 QCOMPARE(m_series->selectedItem(), m_series->invalidSelectionIndex());
94
95 // Common properties. The ones identical between different series are tested in QBar3DSeries tests
96 QCOMPARE(m_series->itemLabelFormat(), QString("@xLabel, @yLabel, @zLabel"));
97 QCOMPARE(m_series->mesh(), QAbstract3DSeries::MeshSphere);
98 QCOMPARE(m_series->type(), QAbstract3DSeries::SeriesTypeScatter);
99}
100
101void tst_series::initializeProperties()
102{
103 QVERIFY(m_series);
104
105 m_series->setDataProxy(new QScatterDataProxy());
106 m_series->setItemSize(0.5f);
107 m_series->setSelectedItem(0);
108
109 QCOMPARE(m_series->itemSize(), 0.5f);
110 QCOMPARE(m_series->selectedItem(), 0);
111
112 // Common properties. The ones identical between different series are tested in QBar3DSeries tests
113 m_series->setMesh(QAbstract3DSeries::MeshPoint);
114 m_series->setMeshRotation(QQuaternion(1, 1, 10, 20));
115
116 QCOMPARE(m_series->mesh(), QAbstract3DSeries::MeshPoint);
117 QCOMPARE(m_series->meshRotation(), QQuaternion(1, 1, 10, 20));
118}
119
120QTEST_MAIN(tst_series)
121#include "tst_series.moc"
122

source code of qtdatavis3d/tests/auto/cpptest/q3dscatter-series/tst_series.cpp