#include #include "result.hh" #include "request.hh" class Result_test: public CxxTest::TestSuite { public: void test_constructors(void) { // Default constructor Result result1 ; Result result2(NULL) ; Result result3(NULL, "UnknownAlgorithm") ; TS_ASSERT_EQUALS(result1, result2) ; TS_ASSERT_EQUALS(result1, result3) ; Request request1 ; Result result4(&request1) ; TS_ASSERT(result1 != result4) ; } void test_accessors(void) { // We cannot test easily in_which_area() without a complete // configuration. Timestamp timestamp1 ; timestamp1.now() ; Request request1(timestamp1) ; Point3D point3d1(3,4,2) ; Result result1(&request1, "MyAlgorithm", point3d1) ; TS_ASSERT_EQUALS(result1.get_position(), point3d1) ; TS_ASSERT_EQUALS(result1.get_request(), &request1) ; TS_ASSERT_EQUALS(result1.get_error(), -1) ; } void test_error(void) { Timestamp timestamp1 ; timestamp1.now() ; Request request1(timestamp1) ; Point3D position(1, 1, 1), real_position(1, 5, 1) ; Result result1(&request1, "MyAlgorithm", position, real_position) ; TS_ASSERT_EQUALS(result1.get_error(), 4) ; Point3D real_position2(1, 3.5, 1) ; result1.compute_error(real_position2) ; TS_ASSERT_EQUALS(result1.get_error(), 2.5) ; } void test_operators(void) { Timestamp timestamp1 ; timestamp1.now() ; Request request1(timestamp1) ; Point3D point3d1(3,4,2) ; Result result1(&request1, point3d1) ; Result result2(&request1, point3d1) ; TS_ASSERT_EQUALS(result1, result2) ; Result result3 ; TS_ASSERT(result1 != result3) ; result3 = result1 ; TS_ASSERT_EQUALS(result1, result3) ; } } ;