#include #include "realposition.hh" class RealPosition_test: public CxxTest::TestSuite { public: void test_compute(void) { Point3D null_point(0,0,0) ; ReferencePoint reference_point(1,2,3) ; Direction direction(Direction::south) ; Request request ; CalibrationRequest calibration_request(request, &reference_point, direction) ; PositioningAlgorithm *algo = new RealPosition() ; Result res ; res = algo->compute(request) ; TS_ASSERT_EQUALS(res.get_position(), null_point) ; res = algo->compute(calibration_request) ; TS_ASSERT_EQUALS(res.get_position(), reference_point) ; Request *request_ptr ; request_ptr = &request ; res = algo->compute(*request_ptr) ; TS_ASSERT_EQUALS(res.get_position(), null_point) ; request_ptr = static_cast(&calibration_request) ; res = algo->compute(*request_ptr) ; TS_ASSERT_EQUALS(res.get_position(), reference_point) ; delete algo ; } } ;