From 3bd94fcd6f65f2d55c3bbce410657eeba5577336 Mon Sep 17 00:00:00 2001 From: Matthias Grob Date: Sun, 5 Nov 2017 12:14:37 +0100 Subject: [PATCH] Test vector: structured & commented, added normalize and unit_or_zero tests, removed duplicate data preparation --- test/vector.cpp | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/test/vector.cpp b/test/vector.cpp index 21c41e8bff..bfebe6414a 100644 --- a/test/vector.cpp +++ b/test/vector.cpp @@ -6,25 +6,34 @@ using namespace matrix; int main() { + // test data float data1[] = {1,2,3,4,5}; float data2[] = {6,7,8,9,10}; Vector v1(data1); - TEST(isEqualF(v1.norm(), 7.416198487095663f)); - TEST(isEqualF(v1.norm(), v1.length())); Vector v2(data2); - TEST(isEqualF(v1.dot(v2), 130.0f)); - v2.normalize(); + + // copy constructor Vector v3(v2); TEST(isEqual(v2, v3)); + + // norm, dot product + TEST(isEqualF(v1.norm(), 7.416198487095663f)); + TEST(isEqualF(v1.norm(), v1.length())); + TEST(isEqualF(v1.dot(v2), 130.0f)); + TEST(isEqualF(v1.dot(v2), v1 * v2)); + + // unit, unit_zero, normalize + TEST(isEqualF(v2.unit().norm(), 1.f)); + TEST(isEqualF(v2.unit_or_zero().norm(), 1.f)); + TEST(isEqualF(Vector().unit_or_zero().norm(), 0.f)); + v2.normalize(); + TEST(isEqualF(v2.norm(), 1.f)); + + // power float data1_sq[] = {1,4,9,16,25}; Vector v4(data1_sq); TEST(isEqual(v1, v4.pow(0.5))); - // dot product operator - v1 = Vector(data1); - v2 = Vector(data2); - float dprod = v1 * v2; - TEST(isEqualF(dprod, 130.0f)); return 0; }