From a70c0ad1d15e1346f7784f4e720bbe460af85c17 Mon Sep 17 00:00:00 2001 From: Sean Harmer Date: Fri, 16 Aug 2013 17:57:38 +0200 Subject: Add operator[] to QVectorND classes Change-Id: Ia786d4fab64da974bb60f24c05325925d42a1e70 Reviewed-by: Gunnar Sletta Reviewed-by: Giuseppe D'Angelo --- tests/auto/gui/math3d/qvectornd/tst_qvectornd.cpp | 80 +++++++++++++++++++++++ 1 file changed, 80 insertions(+) (limited to 'tests') diff --git a/tests/auto/gui/math3d/qvectornd/tst_qvectornd.cpp b/tests/auto/gui/math3d/qvectornd/tst_qvectornd.cpp index 0041ad0015..57c4c094a2 100644 --- a/tests/auto/gui/math3d/qvectornd/tst_qvectornd.cpp +++ b/tests/auto/gui/math3d/qvectornd/tst_qvectornd.cpp @@ -57,6 +57,10 @@ private slots: void create3(); void create4(); + void modify2(); + void modify3(); + void modify4(); + void length2_data(); void length2(); void length3_data(); @@ -570,6 +574,82 @@ void tst_QVectorND::create4() QVERIFY(v14.isNull()); } +// Test modifying vectors in various ways +void tst_QVectorND::modify2() +{ + const float e = 2.7182818f; + const float pi = 3.14159f; + const QVector2D p(e, pi); + + QVector2D p1; + p1.setX(e); + p1.setY(pi); + QVERIFY(qFuzzyCompare(p, p1)); + + QVector2D p2; + p2[0] = e; + p2[1] = pi; + QVERIFY(qFuzzyCompare(p, p2)); + + QVector2D p3; + for (int i = 0; i < 2; ++i) + p3[i] = p[i]; + QVERIFY(qFuzzyCompare(p, p3)); +} + +void tst_QVectorND::modify3() +{ + const float one = 1.0f; + const float e = 2.7182818f; + const float pi = 3.14159f; + const QVector3D p(one, e, pi); + + QVector3D p1; + p1.setX(one); + p1.setY(e); + p1.setZ(pi); + QVERIFY(qFuzzyCompare(p, p1)); + + QVector3D p2; + p2[0] = one; + p2[1] = e; + p2[2] = pi; + QVERIFY(qFuzzyCompare(p, p2)); + + QVector3D p3; + for (int i = 0; i < 3; ++i) + p3[i] = p[i]; + QVERIFY(qFuzzyCompare(p, p3)); +} + +void tst_QVectorND::modify4() +{ + const float one = 1.0f; + const float e = 2.7182818f; + const float pi = 3.14159f; + const float big = 1.0e6f; + const QVector4D p(one, e, pi, big); + + QVector4D p1; + p1.setX(one); + p1.setY(e); + p1.setZ(pi); + p1.setW(big); + QVERIFY(qFuzzyCompare(p, p1)); + + QVector4D p2; + p2[0] = one; + p2[1] = e; + p2[2] = pi; + p2[3] = big; + QVERIFY(qFuzzyCompare(p, p2)); + + QVector4D p3; + for (int i = 0; i < 4; ++i) + p3[i] = p[i]; + QVERIFY(qFuzzyCompare(p, p3)); +} + // Test vector length computation for 2D vectors. void tst_QVectorND::length2_data() { -- cgit v1.2.3