--- trunk/test/math/VectorTestCase.cpp 2004/10/18 23:13:23 101 +++ trunk/test/math/VectorTestCase.cpp 2004/10/21 21:31:39 137 @@ -167,40 +167,80 @@ void VectorTestCase::testOperators(){ //test mul Vec4 a6; a6 = one; - a6.mul(2.0); + a6 *= 2.0; CPPUNIT_ASSERT( a6 == two); Vec4 a7; - a7.mul(one, 2.0); + a7 = one * 2.0; CPPUNIT_ASSERT( a7 == two); - Vec4 a8; - a7.mul(zero, 2.0); - CPPUNIT_ASSERT( a7 == zero); + a7 = 2.0 * one; + CPPUNIT_ASSERT( a7 == two); //test div - Vec4 a9; - a9 = two; - a9.div(2.0); - CPPUNIT_ASSERT( a9 == one); - - Vec4 a10; - a10.div(two, 2.0); - CPPUNIT_ASSERT( a10 == one); - Vec4 a11; - a11.mul(zero, 2.0); - CPPUNIT_ASSERT( a11 == zero); - + Vec4 a8; + a8 = two; + a8 /= 2.0; + CPPUNIT_ASSERT( a8 == one); + a8 = two /2.0; + CPPUNIT_ASSERT( a8 == one); } void VectorTestCase::testAccessEntries(){ - CPPUNIT_ASSERT(zero[0] == 0.0); - CPPUNIT_ASSERT(one[0] == 1.0); - CPPUNIT_ASSERT(v3[0] == 4.0); + //test [] operator - CPPUNIT_ASSERT(v3(0) != 1.0); + CPPUNIT_ASSERT_DOUBLES_EQUAL(zero[0], 0.0, oopse::epsilon); + CPPUNIT_ASSERT_DOUBLES_EQUAL(one[0] , 1.0, oopse::epsilon); + CPPUNIT_ASSERT_DOUBLES_EQUAL(v3[0] , 4.0, oopse::epsilon); + //test () operator + CPPUNIT_ASSERT_DOUBLES_EQUAL(v3(0) , 4.0, oopse::epsilon); + Vec4 a1; + double *pa1 = a1.getArrayPointer(); + + pa1[0] = 4.0; + pa1[1] = 1.0; + pa1[2] = 3.0; + pa1[3] = 2.0; + + CPPUNIT_ASSERT(a1 == v3); } +void VectorTestCase::testOtherMemberFunctions(){ + //test length() + CPPUNIT_ASSERT_DOUBLES_EQUAL(zero.length(), 0.0, oopse::epsilon); + CPPUNIT_ASSERT_DOUBLES_EQUAL(one.length(), 2.0, oopse::epsilon); + CPPUNIT_ASSERT_DOUBLES_EQUAL(v2.length(), sqrt(14.0), oopse::epsilon); + + //test lengthSquare() + CPPUNIT_ASSERT_DOUBLES_EQUAL(zero.lengthSquare(), 0.0, oopse::epsilon); + CPPUNIT_ASSERT_DOUBLES_EQUAL(one.lengthSquare(), 4.0, oopse::epsilon); + CPPUNIT_ASSERT_DOUBLES_EQUAL(v2.lengthSquare(), 14.0, oopse::epsilon); + + //test normalize() + Vec4 a1 = one; + Vec4 a2 = two; + + a1.normalize(); + a2.normalize(); + CPPUNIT_ASSERT(a1 == a2); + + //test isNormalized(); + CPPUNIT_ASSERT(a1.isNormalized()); + CPPUNIT_ASSERT(!one.isNormalized()); + + +} void VectorTestCase::testOtherTemplateFunctions(){ + //test dot + CPPUNIT_ASSERT_DOUBLES_EQUAL(dot(one, two), 8.0, oopse::epsilon); + CPPUNIT_ASSERT_DOUBLES_EQUAL(dot(v1, v3), 20.0, oopse::epsilon); + //test distance + CPPUNIT_ASSERT_DOUBLES_EQUAL(distance(one, two), 2.0, oopse::epsilon); + CPPUNIT_ASSERT_DOUBLES_EQUAL(distance(v1, v2), sqrt(56.0), oopse::epsilon); + + //test distanceSquare + CPPUNIT_ASSERT_DOUBLES_EQUAL(distanceSquare(one, two), 4.0, oopse::epsilon); + CPPUNIT_ASSERT_DOUBLES_EQUAL(distanceSquare(v1, v2), 56, oopse::epsilon); + }