10 #include <utl/Vector.h>
11 #include <utl/MathConstants.h>
13 #include <tst/Verify.h>
14 #include <utl/Triple.h>
16 #include <cppunit/extensions/HelperMacros.h>
28 CPPUNIT_TEST(testVectorOperations);
29 CPPUNIT_TEST_SUITE_END();
40 const Vector v1(1,0,0, CS);
41 const Vector v2(0,1,0, CS);
43 CPPUNIT_ASSERT(Verify<CloseTo>(
44 v3.GetCoordinates(CS),
Triple(1,1,0)));
47 CPPUNIT_ASSERT(Verify<CloseTo>(
48 v4.GetCoordinates(CS),
Triple(1,-1,0)));
50 const Vector v5(2 * (v1 + v2));
51 CPPUNIT_ASSERT(Verify<CloseTo>(
52 v5.GetCoordinates(CS),
Triple(2,2,0)));
54 const Vector v6(2 * v1 - v2 * 3);
55 CPPUNIT_ASSERT(Verify<CloseTo>(
56 v6.GetCoordinates(CS),
Triple(2,-3,0)));
59 CPPUNIT_ASSERT(Verify<CloseTo>(
60 v7.GetCoordinates(CS),
Triple(1,1,0)));
62 CPPUNIT_ASSERT(Verify<CloseTo>(
Angle(v1, v2),
kPi/2));
63 CPPUNIT_ASSERT(Verify<CloseTo>(
Angle(v1, v3),
kPi/4));
65 CPPUNIT_ASSERT(Verify<CloseTo>(
Angle(v1, v1), 0.));
66 CPPUNIT_ASSERT(Verify<CloseTo>(
Angle(v2, v2), 0.));
67 CPPUNIT_ASSERT(Verify<CloseTo>(
Angle(v3, v3), 0.));
CPPUNIT_TEST_SUITE_REGISTRATION(testAiresShowerFile)
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
boost::tuple< double, double, double > Triple
Coordinate triple for easy getting or setting of coordinates.
double Angle(const Vector &left, const Vector &right)
void testVectorOperations()