summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer@kdab.com>2013-08-16 17:57:38 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-08-27 17:50:40 +0200
commita70c0ad1d15e1346f7784f4e720bbe460af85c17 (patch)
treea5c2e1c59a2d2c1977d1cd922f15ccdfcb46696a /tests
parente0f2603f49b17eb4e562ec81e92796e3b2435490 (diff)
Add operator[] to QVectorND classes
Change-Id: Ia786d4fab64da974bb60f24c05325925d42a1e70 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/gui/math3d/qvectornd/tst_qvectornd.cpp80
1 files changed, 80 insertions, 0 deletions
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()
{