00001 #ifndef MATHTEST_H
00002 #define MATHTEST_H
00003
00004 #include "3dmath.h"
00005 #include <cppunit/extensions/HelperMacros.h>
00006 #include <cppunit/portability/Stream.h>
00007
00009 template<class BASECLASS>
00010 class mathTest : public CPPUNIT_NS::TestFixture
00011 {
00012 CPPUNIT_TEST_SUITE( mathTest );
00013 CPPUNIT_TEST( testConstructor );
00014 CPPUNIT_TEST( testOperatorAssign );
00015 CPPUNIT_TEST( testOperatorEqual );
00016 CPPUNIT_TEST( testOperatorPlus );
00017 CPPUNIT_TEST( testOperatorMinus );
00018 CPPUNIT_TEST_SUITE_END();
00019 protected:
00020
00021 public:
00022 mathTest()
00023 {
00024 }
00025
00026 int countTestCases () const
00027 {
00028 return 1;
00029 }
00030
00031 void setUp()
00032 {
00033 }
00034
00035 void tearDown()
00036 {
00037 }
00038
00039 void testConstructor()
00040 {
00041 vector3 *vec = new vector3();
00042 delete vec;
00043 }
00044
00045 void testOperatorAssign()
00046 {
00047 vector3 vec, vec2(1,2,3);
00048 vec = vec2;
00049 CPPUNIT_ASSERT( vec == vec2 );
00050 }
00051
00052 void testOperatorEqual()
00053 {
00054 vector3 vec(1,2,3);
00055 CPPUNIT_ASSERT( vec[0] == 1 );
00056 CPPUNIT_ASSERT( vec[1] == 2 );
00057 CPPUNIT_ASSERT( vec[2] == 3 );
00058 CPPUNIT_ASSERT( vec == vector3(1,2,3) );
00059 }
00060
00061 void testOperatorPlus()
00062 {
00063 CPPUNIT_ASSERT( vector3(1,2,3) + vector3(10,20,30) == vector3(11,22,33) );
00064 }
00065
00066 void testOperatorMinus()
00067 {
00068 CPPUNIT_ASSERT( vector3(1,2,3) - vector3(10,20,30) == vector3(-9,-18,-27) );
00069 }
00070
00071 };
00072
00073 #endif