diff options
author | Rhys Weatherley <rhys.weatherley@nokia.com> | 2009-06-02 03:01:09 (GMT) |
---|---|---|
committer | Rhys Weatherley <rhys.weatherley@nokia.com> | 2009-06-02 03:01:09 (GMT) |
commit | 32d87121d5102f01809a888dca5a42683a781b20 (patch) | |
tree | e29b7f9e4dbb34520dbd77a29d1da72a5f9f5438 /tests/auto/math3d | |
parent | 5a7d208ee0730021b79310132d4dd384d7d15801 (diff) | |
download | Qt-32d87121d5102f01809a888dca5a42683a781b20.zip Qt-32d87121d5102f01809a888dca5a42683a781b20.tar.gz Qt-32d87121d5102f01809a888dca5a42683a781b20.tar.bz2 |
Unit tests for 2D QMatrix4x4::translate() and scale()
Diffstat (limited to 'tests/auto/math3d')
-rw-r--r-- | tests/auto/math3d/qmatrixnxn/tst_qmatrixnxn.cpp | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/auto/math3d/qmatrixnxn/tst_qmatrixnxn.cpp b/tests/auto/math3d/qmatrixnxn/tst_qmatrixnxn.cpp index 936f9d6..4d51e89 100644 --- a/tests/auto/math3d/qmatrixnxn/tst_qmatrixnxn.cpp +++ b/tests/auto/math3d/qmatrixnxn/tst_qmatrixnxn.cpp @@ -1978,6 +1978,14 @@ void tst_QMatrix::scale4x4_data() 0.0f, 0.0f, 0.0f, 1.0f}; QTest::newRow("complex") << (qreal)2.0f << (qreal)11.0f << (qreal)-6.5f << (void *)complexScale; + + static const qreal complexScale2D[] = + {2.0f, 0.0f, 0.0f, 0.0f, + 0.0f, -11.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f}; + QTest::newRow("complex2D") + << (qreal)2.0f << (qreal)-11.0f << (qreal)1.0f << (void *)complexScale2D; } void tst_QMatrix::scale4x4() { @@ -1996,6 +2004,12 @@ void tst_QMatrix::scale4x4() m2.scale(x, y, z); QVERIFY(isSame(m2, (const qreal *)resultValues)); + if (z == 1.0f) { + QMatrix4x4 m2b; + m2b.scale(x, y); + QVERIFY(m2b == m2); + } + QVector3D v1(2.0f, 3.0f, -4.0f); QVector3D v2 = m1 * v1; QCOMPARE(v2.x(), (qreal)(2.0f * x)); @@ -2049,6 +2063,12 @@ void tst_QMatrix::scale4x4() QVERIFY(isSame(m5, (const qreal *)resultValues)); } + if (z == 1.0f) { + QMatrix4x4 m4b(m3); + m4b.scale(x, y); + QVERIFY(m4b == m4); + } + // Test coverage when the special matrix type is unknown. QMatrix4x4 m6; @@ -2104,6 +2124,14 @@ void tst_QMatrix::translate4x4_data() 0.0f, 0.0f, 0.0f, 1.0f}; QTest::newRow("complex") << (qreal)2.0f << (qreal)11.0f << (qreal)-6.5f << (void *)complexTranslate; + + static const qreal complexTranslate2D[] = + {1.0f, 0.0f, 0.0f, 2.0f, + 0.0f, 1.0f, 0.0f, -11.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f}; + QTest::newRow("complex2D") + << (qreal)2.0f << (qreal)-11.0f << (qreal)0.0f << (void *)complexTranslate2D; } void tst_QMatrix::translate4x4() { @@ -2122,6 +2150,12 @@ void tst_QMatrix::translate4x4() m2.translate(x, y, z); QVERIFY(isSame(m2, (const qreal *)resultValues)); + if (z == 0.0f) { + QMatrix4x4 m2b; + m2b.translate(x, y); + QVERIFY(m2b == m2); + } + QVector3D v1(2.0f, 3.0f, -4.0f); QVector3D v2 = m1 * v1; QCOMPARE(v2.x(), (qreal)(2.0f + x)); @@ -2156,6 +2190,12 @@ void tst_QMatrix::translate4x4() QMatrix4x4 m4(m3); m4.translate(x, y, z); QVERIFY(m4 == m3 * m1); + + if (z == 0.0f) { + QMatrix4x4 m4b(m3); + m4b.translate(x, y); + QVERIFY(m4b == m4); + } } // Test the generation and use of 4x4 rotation matrices. |