diff options
Diffstat (limited to 'tests/auto/cpptest/q3dsurface-heightproxy/tst_proxy.cpp')
-rw-r--r-- | tests/auto/cpptest/q3dsurface-heightproxy/tst_proxy.cpp | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/tests/auto/cpptest/q3dsurface-heightproxy/tst_proxy.cpp b/tests/auto/cpptest/q3dsurface-heightproxy/tst_proxy.cpp new file mode 100644 index 00000000..20ed1aeb --- /dev/null +++ b/tests/auto/cpptest/q3dsurface-heightproxy/tst_proxy.cpp @@ -0,0 +1,156 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use contact form at http://qt.digia.com +** +** This file is part of the QtDataVisualization module. +** +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** contact form at http://qt.digia.com +** +****************************************************************************/ + +#include <QtTest/QtTest> + +#include <QtDataVisualization/QHeightMapSurfaceDataProxy> + +using namespace QtDataVisualization; + +class tst_proxy: public QObject +{ + Q_OBJECT + +private slots: + void initTestCase(); + void cleanupTestCase(); + void init(); + void cleanup(); + + void construct(); + + void initialProperties(); + void initializeProperties(); + void invalidProperties(); + +private: + QHeightMapSurfaceDataProxy *m_proxy; +}; + +void tst_proxy::initTestCase() +{ +} + +void tst_proxy::cleanupTestCase() +{ +} + +void tst_proxy::init() +{ + m_proxy = new QHeightMapSurfaceDataProxy(); +} + +void tst_proxy::cleanup() +{ + delete m_proxy; +} + +void tst_proxy::construct() +{ + QHeightMapSurfaceDataProxy *proxy = new QHeightMapSurfaceDataProxy(); + QVERIFY(proxy); + delete proxy; + + proxy = new QHeightMapSurfaceDataProxy(QImage(QSize(10, 10), QImage::Format_ARGB32)); + QVERIFY(proxy); + QCoreApplication::processEvents(); + QCOMPARE(proxy->columnCount(), 10); + QCOMPARE(proxy->rowCount(), 10); + delete proxy; + + proxy = new QHeightMapSurfaceDataProxy(":/customtexture.jpg"); + QVERIFY(proxy); + QCoreApplication::processEvents(); + QCOMPARE(proxy->columnCount(), 24); + QCOMPARE(proxy->rowCount(), 24); + delete proxy; +} + +void tst_proxy::initialProperties() +{ + QVERIFY(m_proxy); + + QCOMPARE(m_proxy->heightMap(), QImage()); + QCOMPARE(m_proxy->heightMapFile(), QString("")); + QCOMPARE(m_proxy->maxXValue(), 10.0f); + QCOMPARE(m_proxy->maxZValue(), 10.0f); + QCOMPARE(m_proxy->minXValue(), 0.0f); + QCOMPARE(m_proxy->minZValue(), 0.0f); + + QCOMPARE(m_proxy->columnCount(), 0); + QCOMPARE(m_proxy->rowCount(), 0); + QVERIFY(!m_proxy->series()); + + QCOMPARE(m_proxy->type(), QAbstractDataProxy::DataTypeSurface); +} + +void tst_proxy::initializeProperties() +{ + QVERIFY(m_proxy); + + m_proxy->setHeightMapFile(":/customtexture.jpg"); + m_proxy->setMaxXValue(11.0f); + m_proxy->setMaxZValue(11.0f); + m_proxy->setMinXValue(-10.0f); + m_proxy->setMinZValue(-10.0f); + + QCoreApplication::processEvents(); + + QCOMPARE(m_proxy->heightMapFile(), QString(":/customtexture.jpg")); + QCOMPARE(m_proxy->maxXValue(), 11.0f); + QCOMPARE(m_proxy->maxZValue(), 11.0f); + QCOMPARE(m_proxy->minXValue(), -10.0f); + QCOMPARE(m_proxy->minZValue(), -10.0f); + + QCOMPARE(m_proxy->columnCount(), 24); + QCOMPARE(m_proxy->rowCount(), 24); + + m_proxy->setHeightMapFile(""); + + QCoreApplication::processEvents(); + + QCOMPARE(m_proxy->columnCount(), 0); + QCOMPARE(m_proxy->rowCount(), 0); + + m_proxy->setHeightMap(QImage(":/customtexture.jpg")); + + QCoreApplication::processEvents(); + + QCOMPARE(m_proxy->columnCount(), 24); + QCOMPARE(m_proxy->rowCount(), 24); +} + +void tst_proxy::invalidProperties() +{ + m_proxy->setMaxXValue(-10.0f); + m_proxy->setMaxZValue(-10.0f); + QCOMPARE(m_proxy->maxXValue(), -10.0f); + QCOMPARE(m_proxy->maxZValue(), -10.0f); + QCOMPARE(m_proxy->minXValue(), -11.0f); + QCOMPARE(m_proxy->minZValue(), -11.0f); + + m_proxy->setMinXValue(10.0f); + m_proxy->setMinZValue(10.0f); + QCOMPARE(m_proxy->maxXValue(), 11.0f); + QCOMPARE(m_proxy->maxZValue(), 11.0f); + QCOMPARE(m_proxy->minXValue(), 10.0f); + QCOMPARE(m_proxy->minZValue(), 10.0f); +} + +QTEST_MAIN(tst_proxy) +#include "tst_proxy.moc" |