[Positioning] Add class Result
This commit is contained in:
parent
0430b1a5da
commit
96808115bd
|
@ -51,6 +51,7 @@ OBJ_LIST = \
|
|||
measurement.o \
|
||||
request.o \
|
||||
calibrationrequest.o \
|
||||
result.o \
|
||||
configuration.o \
|
||||
userinterface.o \
|
||||
input.o \
|
||||
|
@ -125,7 +126,7 @@ inputcsv.o: \
|
|||
$(OBJ_DIR)/calibrationrequest.o \
|
||||
$(OBJ_DIR)/stock.o
|
||||
inputlogcsv.o: \
|
||||
$(OBJ_DIR)/inputlogmedium.hh \
|
||||
$(SRC_DIR)/inputlogmedium.hh \
|
||||
$(OBJ_DIR)/request.o
|
||||
input.o: \
|
||||
$(OBJ_DIR)/posexcept.o
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
|
||||
- Tests unitaires
|
||||
Remplacer TS_ASSERT_DIFFERS(a, b) par TS_ASSERT(a != b) pour tester
|
||||
operator!=() au lieu de !operator==().
|
||||
|
||||
- Input
|
||||
° Finir le test unitaire.
|
||||
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
#include "result.hh"
|
||||
|
||||
|
||||
|
||||
/* *** Operators *** */
|
||||
|
||||
|
||||
const Result& Result::operator=(const Result &source)
|
||||
{
|
||||
if (this == &source)
|
||||
return *this ;
|
||||
|
||||
position = source.position ;
|
||||
request = source.request ;
|
||||
|
||||
return *this ;
|
||||
}
|
||||
|
||||
|
||||
bool Result::operator==(const Result &source)
|
||||
{
|
||||
return
|
||||
position == source.position &&
|
||||
request == source.request ;
|
||||
}
|
|
@ -0,0 +1,64 @@
|
|||
#ifndef _OWLPS_POSITIONING_RESULT_HH_
|
||||
#define _OWLPS_POSITIONING_RESULT_HH_
|
||||
|
||||
class Request ;
|
||||
|
||||
#include "point3d.hh"
|
||||
|
||||
/// Represents a result computed by a positioning algorithm
|
||||
class Result
|
||||
{
|
||||
protected:
|
||||
Point3D position ;
|
||||
Request *request ;
|
||||
|
||||
public:
|
||||
Result(const Request *_request = NULL):
|
||||
request(const_cast<Request*>(_request)) {}
|
||||
Result(const Request *_request, const Point3D &_position):
|
||||
position(_position), request(const_cast<Request*>(_request)) {}
|
||||
~Result(void) {}
|
||||
|
||||
/** @name Read accessors */
|
||||
//@{
|
||||
const Point3D& get_position(void) ;
|
||||
const Request* get_request(void) ;
|
||||
//@}
|
||||
|
||||
/** @name Operators */
|
||||
//@{
|
||||
const Result& operator=(const Result &source) ;
|
||||
bool operator==(const Result &source) ;
|
||||
bool operator!=(const Result &source) ;
|
||||
//@}
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
/* *** Read accessors *** */
|
||||
|
||||
|
||||
inline const Point3D& Result::get_position()
|
||||
{
|
||||
return position ;
|
||||
}
|
||||
|
||||
|
||||
inline const Request* Result::get_request()
|
||||
{
|
||||
return request ;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* *** Operators *** */
|
||||
|
||||
|
||||
inline bool Result::operator!=(const Result &source)
|
||||
{
|
||||
return !(*this == source) ;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif // _OWLPS_POSITIONING_RESULT_HH_
|
|
@ -0,0 +1,53 @@
|
|||
#include <cxxtest/TestSuite.h>
|
||||
|
||||
#include "result.hh"
|
||||
#include "request.hh"
|
||||
|
||||
class Result_test: public CxxTest::TestSuite
|
||||
{
|
||||
public:
|
||||
|
||||
void test_constructor(void)
|
||||
{
|
||||
// Default constructor
|
||||
Result result1 ;
|
||||
Result result2(NULL) ;
|
||||
Result result3(NULL, Point3D()) ;
|
||||
TS_ASSERT_EQUALS(result1, result2) ;
|
||||
TS_ASSERT_EQUALS(result1, result3) ;
|
||||
|
||||
Request request1 ;
|
||||
Result result4(&request1) ;
|
||||
TS_ASSERT_DIFFERS(result1, result4) ;
|
||||
}
|
||||
|
||||
void test_accessors(void)
|
||||
{
|
||||
Timestamp timestamp1 ;
|
||||
timestamp1.now() ;
|
||||
Request request1(timestamp1) ;
|
||||
Point3D point3d1(3,4,2) ;
|
||||
Result result1(&request1, point3d1) ;
|
||||
|
||||
TS_ASSERT_EQUALS(result1.get_position(), point3d1) ;
|
||||
TS_ASSERT_EQUALS(result1.get_request(), &request1) ;
|
||||
}
|
||||
|
||||
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) ;
|
||||
}
|
||||
|
||||
} ;
|
Loading…
Reference in New Issue