void testEquality() { CPPUNIT_ASSERT_MESSAGE( "Point is (0,0,0)", !(Point_3D(1,0,0) == Point_3D())); CPPUNIT_ASSERT_MESSAGE( "Error with little difference", !(Point_3D(0.01,0,0) == Point_3D())); CPPUNIT_ASSERT_EQUAL( *p_1_1_1, Point_3D(1.0, 1.0, 1.0 + 1e-9) ); CPPUNIT_ASSERT( !(*p_1_1_1 == *p_1_2_3) ); }
Point_3D operator-(const Point_3D& point) const { return Point_3D(x-point.getX(), y-point.getY(), z-point.getZ()); }
Point_3D operator+(const Point_3D& point) const { return Point_3D(x+point.getX(), y+point.getY(), z+point.getZ()); }
Point_3D operator*(const double scalar) const { return Point_3D(x*scalar, y*scalar, z*scalar); }
bool Point_3D::operator<(const Point_3D & pt_other) const { //Compare les distance des deux points return(distance(Point_3D(0, 0, 0))<pt_other.distance(Point_3D(0, 0, 0))); }
void testMultiplication() { CPPUNIT_ASSERT_EQUAL( *p_1_1_1 * 2, Point_3D(2,2,2)); CPPUNIT_ASSERT_EQUAL( 2 * *p_1_1_1, Point_3D(2,2,2)); CPPUNIT_ASSERT_EQUAL( *p_1_1_1 * 2, 2 * *p_1_1_1); }
void testSoustraction() { CPPUNIT_ASSERT_EQUAL( *p_1_1_1 - *p_1_1_1, Point_3D(0,0,0) ); }
void testAddition() { CPPUNIT_ASSERT_EQUAL( *p_1_1_1 + *p_1_1_1, Point_3D(2,2,2) ); }