#include #include #include #include #include "FTGL/ftgl.h" class FTPointTest : public CppUnit::TestCase { CPPUNIT_TEST_SUITE(FTPointTest); CPPUNIT_TEST(testConstructor); CPPUNIT_TEST(testOperatorEqual); CPPUNIT_TEST(testOperatorPlus); CPPUNIT_TEST(testOperatorMultiply); CPPUNIT_TEST(testOperatorNotEqual); CPPUNIT_TEST(testOperatorPlusEquals); CPPUNIT_TEST(testOperatorDouble); CPPUNIT_TEST(testSetters); CPPUNIT_TEST(testGetters); CPPUNIT_TEST_SUITE_END(); public: FTPointTest() : CppUnit::TestCase("FTPoint Test") {} FTPointTest(const std::string& name) : CppUnit::TestCase(name) {} void testConstructor() { FTPoint point1; CPPUNIT_ASSERT(point1.X() == 0.0f); CPPUNIT_ASSERT(point1.Y() == 0.0f); CPPUNIT_ASSERT(point1.Z() == 0.0f); FTPoint point2(1.0f, 2.0f, 3.0f); CPPUNIT_ASSERT(point2.X() == 1.0f); CPPUNIT_ASSERT(point2.Y() == 2.0f); CPPUNIT_ASSERT(point2.Z() == 3.0f); FT_Vector ftVector; ftVector.x = 4; ftVector.y = 23; FTPoint point3(ftVector); CPPUNIT_ASSERT(point3.X() == 4.0f); CPPUNIT_ASSERT(point3.Y() == 23.0f); CPPUNIT_ASSERT(point3.Z() == 0.0f); } void testOperatorEqual() { FTPoint point1(1.0f, 2.0f, 3.0f); FTPoint point2(1.0f, 2.0f, 3.0f); FTPoint point3(-1.0f, 2.3f, 23.0f); CPPUNIT_ASSERT(point1 == point1); CPPUNIT_ASSERT(point1 == point2); CPPUNIT_ASSERT(!(point1 == point3)); } void testOperatorNotEqual() { FTPoint point1(1.0f, 2.0f, 3.0f); FTPoint point2(1.0f, 2.0f, 3.0f); FTPoint point3(-1.0f, 2.3f, 23.0f); CPPUNIT_ASSERT(!(point1 != point1)); CPPUNIT_ASSERT(!(point1 != point2)); CPPUNIT_ASSERT(point1 != point3); } void testOperatorPlus() { FTPoint point1(1.0f, 2.0f, 3.0f); FTPoint point2(1.0f, 2.0f, 3.0f); FTPoint point3(2.0f, 4.0f, 6.0f); FTPoint point4 = point1 + point2; CPPUNIT_ASSERT(point4 == point3); } void testOperatorMultiply() { FTPoint point1(1.0f, 2.0f, 3.0f); FTPoint point2(1.0f, 2.0f, 3.0f); FTPoint point3(2.0f, 4.0f, 6.0f); FTPoint point4 = point1 * 2.0; CPPUNIT_ASSERT(point4 == point3); point4 = 2.0 * point2; CPPUNIT_ASSERT(point4 == point3); } void testOperatorPlusEquals() { FTPoint point1(1.0f, 2.0f, 3.0f); FTPoint point2(-2.0f, 21.0f, 0.0f); FTPoint point3(-1.0f, 23.0f, 3.0f); point1 += point2; CPPUNIT_ASSERT(point1 == point3); } void testOperatorDouble() { FTPoint point1(1.0f, 2.0f, 3.0f); const double* pointer = static_cast(point1); CPPUNIT_ASSERT(pointer[0] == 1.0f); CPPUNIT_ASSERT(pointer[1] == 2.0f); CPPUNIT_ASSERT(pointer[2] == 3.0f); } void testSetters() { FTPoint point; FTPoint point1(1, 2, 3); point.X(1); point.Y(2); point.Z(3); CPPUNIT_ASSERT(point == point1); } void testGetters() { FTPoint point(1.0f, 2.0f, 3.0f); CPPUNIT_ASSERT(point.X() == 1.0); CPPUNIT_ASSERT(point.Y() == 2.0); CPPUNIT_ASSERT(point.Z() == 3.0); } void setUp() {} void tearDown() {} private: }; CPPUNIT_TEST_SUITE_REGISTRATION(FTPointTest);