[Positioning] +CalibrationRequest, -CalibrationMeasurement
Delete class CalibrationMeasurement and add class CalibrationRequest: the ReferencePoint must be linked by the Request, not by each Measurement of the Request. Adapt ReferencePoint to link a CalibrationRequest instead of a CalibrationMeasurement. Request: - Destructor is now virtual to allow polymorphism. - Reactivate tests on get_measurements() and set_measurements().
This commit is contained in:
parent
a5aa1af433
commit
ce92f0979e
|
@ -30,7 +30,7 @@ LDFLAGS = -lm -lrt -lboost_program_options
|
|||
TARGET = owlps-positioning
|
||||
OBJ = posutil.o stock.o timestamp.o point3d.o referencepoint.o \
|
||||
waypoint.o building.o area.o wifidevice.o accesspoint.o \
|
||||
mobile.o measurement.o calibrationmeasurement.o request.o \
|
||||
mobile.o measurement.o request.o calibrationrequest.o \
|
||||
configuration.o userinterface.o input.o \
|
||||
inputcsv.o inputlogcsv.o
|
||||
OBJ_NOTEST = posexcept.o
|
||||
|
@ -66,8 +66,8 @@ wifidevice.o: posutil.o
|
|||
accesspoint.o: wifidevice.o point3d.o
|
||||
mobile.o: wifidevice.o
|
||||
measurement.o: accesspoint.o
|
||||
calibrationmeasurement.o: measurement.o referencepoint.o
|
||||
request.o: timestamp.o measurement.o
|
||||
calibrationrequest.o: request.o referencepoint.o
|
||||
inputcsv.o: inputmedium.hh request.o stock.o
|
||||
inputlogcsv.o: inputlogmedium.hh request.o
|
||||
input.o: posexcept.o
|
||||
|
|
|
@ -1,29 +0,0 @@
|
|||
#include "calibrationmeasurement.hh"
|
||||
|
||||
|
||||
|
||||
/* *** Operators *** */
|
||||
|
||||
|
||||
const CalibrationMeasurement&
|
||||
CalibrationMeasurement::operator=(const CalibrationMeasurement &cm)
|
||||
{
|
||||
if (this == &cm)
|
||||
return *this ;
|
||||
|
||||
this->Measurement::operator=(cm) ;
|
||||
reference_point = cm.reference_point ;
|
||||
|
||||
return *this ;
|
||||
}
|
||||
|
||||
|
||||
bool CalibrationMeasurement::operator==(const CalibrationMeasurement &cm)
|
||||
{
|
||||
if (this == &cm)
|
||||
return true ;
|
||||
|
||||
return
|
||||
this->Measurement::operator==(cm) &&
|
||||
reference_point == cm.reference_point ;
|
||||
}
|
|
@ -1,84 +0,0 @@
|
|||
#ifndef _OWLPS_POSITIONING_CALIBRATIONMEASUREMENT_HH_
|
||||
#define _OWLPS_POSITIONING_CALIBRATIONMEASUREMENT_HH_
|
||||
|
||||
class ReferencePoint ;
|
||||
|
||||
#include "measurement.hh"
|
||||
|
||||
/// Represents a Measurement that constructed from calibration Request
|
||||
class CalibrationMeasurement: public Measurement
|
||||
{
|
||||
protected:
|
||||
/// The reference point the mobile calibrates
|
||||
ReferencePoint *reference_point ;
|
||||
|
||||
public:
|
||||
/// \brief Constructs a CalibrationMeasurement from an AccessPoint, a
|
||||
/// list of signal strengths and a ReferencePoint (or default constructor)
|
||||
CalibrationMeasurement(const AccessPoint *_ap = NULL,
|
||||
const std::vector<int> &_ss_list = std::vector<int>(),
|
||||
ReferencePoint *_reference_point = NULL):
|
||||
Measurement(_ap, _ss_list), reference_point(_reference_point) {}
|
||||
/// Copy constructor
|
||||
CalibrationMeasurement(const CalibrationMeasurement &cm):
|
||||
Measurement(cm), reference_point(cm.reference_point) {}
|
||||
/// Constructs a CalibrationMeasurement from a Measurement
|
||||
CalibrationMeasurement(const Measurement &m):
|
||||
Measurement(m), reference_point(NULL) {}
|
||||
|
||||
~CalibrationMeasurement(void) {} ///< Destructor (do nothing)
|
||||
|
||||
/** @name Read accessors */
|
||||
//@{
|
||||
/// #reference_point read accessor
|
||||
ReferencePoint* get_reference_point(void) const ;
|
||||
//@}
|
||||
|
||||
/** @name Write accessors */
|
||||
//@{
|
||||
/// #reference_point write accessor
|
||||
void set_reference_point(const ReferencePoint *_rp) ;
|
||||
//@}
|
||||
|
||||
/** @name Operators */
|
||||
//@{
|
||||
const CalibrationMeasurement& operator=(const CalibrationMeasurement &cm) ;
|
||||
bool operator==(const CalibrationMeasurement &cm) ;
|
||||
bool operator!=(const CalibrationMeasurement &cm) ;
|
||||
//@}
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
/* *** Read accessors *** */
|
||||
|
||||
|
||||
inline ReferencePoint* CalibrationMeasurement::get_reference_point(void) const
|
||||
{
|
||||
return reference_point ;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* *** Write accessors *** */
|
||||
|
||||
|
||||
inline void CalibrationMeasurement::set_reference_point(
|
||||
const ReferencePoint *_rp)
|
||||
{
|
||||
reference_point = const_cast<ReferencePoint*>(_rp) ;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* *** Operators *** */
|
||||
|
||||
|
||||
inline bool CalibrationMeasurement::operator!=(const CalibrationMeasurement &cm)
|
||||
{
|
||||
return !(*this == cm) ;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif // _OWLPS_POSITIONING_CALIBRATIONMEASUREMENT_HH_
|
|
@ -0,0 +1,40 @@
|
|||
#include "calibrationrequest.hh"
|
||||
|
||||
|
||||
|
||||
/* *** Write accessors *** */
|
||||
|
||||
|
||||
void CalibrationRequest::clear()
|
||||
{
|
||||
Request::clear() ;
|
||||
reference_point = NULL ;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* *** Operators *** */
|
||||
|
||||
|
||||
const CalibrationRequest&
|
||||
CalibrationRequest::operator=(const CalibrationRequest &source)
|
||||
{
|
||||
if (this == &source)
|
||||
return *this ;
|
||||
|
||||
this->Request::operator=(source) ;
|
||||
reference_point = source.reference_point ;
|
||||
|
||||
return *this ;
|
||||
}
|
||||
|
||||
|
||||
bool CalibrationRequest::operator==(const CalibrationRequest &source)
|
||||
{
|
||||
if (this == &source)
|
||||
return true ;
|
||||
|
||||
return
|
||||
this->Request::operator==(source) &&
|
||||
reference_point == source.reference_point ;
|
||||
}
|
|
@ -0,0 +1,83 @@
|
|||
#ifndef _OWLPS_POSITIONING_CALIBRATIONREQUEST_HH_
|
||||
#define _OWLPS_POSITIONING_CALIBRATIONREQUEST_HH_
|
||||
|
||||
class ReferencePoint ;
|
||||
|
||||
#include "request.hh"
|
||||
|
||||
/// Represents a calibration Request sent by a mobile
|
||||
class CalibrationRequest: public Request
|
||||
{
|
||||
protected:
|
||||
/// The reference point the mobile calibrates
|
||||
ReferencePoint *reference_point ;
|
||||
|
||||
public:
|
||||
CalibrationRequest(void): reference_point(NULL) {}
|
||||
/// Copy constructor
|
||||
CalibrationRequest(const CalibrationRequest &source):
|
||||
Request(source), reference_point(source.reference_point) {}
|
||||
/// \brief Constructs a CalibrationRequest from a Request and
|
||||
/// (possibly) a ReferencePoint)
|
||||
CalibrationRequest(const Request &source,
|
||||
ReferencePoint *_reference_point = NULL):
|
||||
Request(source), reference_point(_reference_point) {}
|
||||
|
||||
~CalibrationRequest(void) {}
|
||||
|
||||
/** @name Read accessors */
|
||||
//@{
|
||||
/// #reference_point read accessor
|
||||
ReferencePoint* get_reference_point(void) const ;
|
||||
//@}
|
||||
|
||||
/** @name Write accessors */
|
||||
//@{
|
||||
/// #reference_point write accessor
|
||||
void set_reference_point(const ReferencePoint *_rp) ;
|
||||
/// Reinitialises all attributes
|
||||
void clear(void) ;
|
||||
//@}
|
||||
|
||||
/** @name Operators */
|
||||
//@{
|
||||
const CalibrationRequest& operator=(const CalibrationRequest &source) ;
|
||||
bool operator==(const CalibrationRequest &source) ;
|
||||
bool operator!=(const CalibrationRequest &source) ;
|
||||
//@}
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
/* *** Read accessors *** */
|
||||
|
||||
|
||||
inline ReferencePoint* CalibrationRequest::get_reference_point(void) const
|
||||
{
|
||||
return reference_point ;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* *** Write accessors *** */
|
||||
|
||||
|
||||
inline void CalibrationRequest::set_reference_point(
|
||||
const ReferencePoint *_rp)
|
||||
{
|
||||
reference_point = const_cast<ReferencePoint*>(_rp) ;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* *** Operators *** */
|
||||
|
||||
|
||||
inline bool CalibrationRequest::operator!=(const CalibrationRequest &source)
|
||||
{
|
||||
return !(*this == source) ;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif // _OWLPS_POSITIONING_CALIBRATIONREQUEST_HH_
|
|
@ -9,12 +9,12 @@ using namespace std ;
|
|||
|
||||
|
||||
/**
|
||||
* Clears #measurements, but does not deallocate the values pointed by
|
||||
* Clears #requests, but does not deallocate the values pointed by
|
||||
* the elements into it.
|
||||
*/
|
||||
ReferencePoint::~ReferencePoint()
|
||||
{
|
||||
measurements.clear() ;
|
||||
requests.clear() ;
|
||||
}
|
||||
|
||||
|
||||
|
@ -129,26 +129,26 @@ ReferencePoint::~ReferencePoint()
|
|||
/* *** Operators *** */
|
||||
|
||||
|
||||
const ReferencePoint& ReferencePoint::operator=(const ReferencePoint &rp)
|
||||
const ReferencePoint& ReferencePoint::operator=(const ReferencePoint &source)
|
||||
{
|
||||
if (this == &rp)
|
||||
if (this == &source)
|
||||
return *this ;
|
||||
|
||||
this->Point3D::operator=(rp) ;
|
||||
measurements = rp.measurements ;
|
||||
this->Point3D::operator=(source) ;
|
||||
requests = source.requests ;
|
||||
|
||||
return *this ;
|
||||
}
|
||||
|
||||
|
||||
bool ReferencePoint::operator==(const ReferencePoint &rp) const
|
||||
bool ReferencePoint::operator==(const ReferencePoint &source) const
|
||||
{
|
||||
if (this == &rp)
|
||||
if (this == &source)
|
||||
return true ;
|
||||
|
||||
return
|
||||
this->Point3D::operator==(rp) &&
|
||||
measurements == rp.measurements ;
|
||||
this->Point3D::operator==(source) &&
|
||||
requests == source.requests ;
|
||||
}
|
||||
|
||||
|
||||
|
@ -158,13 +158,13 @@ ostream &operator<<(ostream &os, const ReferencePoint &rp)
|
|||
// Coordinates
|
||||
os << (Point3D) rp << '\n' ;
|
||||
|
||||
// List of measurements
|
||||
if (rp.measurements.size() == 0)
|
||||
os << "No measurement." << '\n' ;
|
||||
// List of requests
|
||||
if (rp.requests.size() == 0)
|
||||
os << "No request." << '\n' ;
|
||||
else
|
||||
for (vector<CalibrationMeasurement*>::const_iterator
|
||||
i = rp.measurements.begin() ;
|
||||
i != rp.measurements.end() ; ++i)
|
||||
for (vector<CalibrationRequest*>::const_iterator
|
||||
i = rp.requests.begin() ;
|
||||
i != rp.requests.end() ; ++i)
|
||||
os << '\n' << *i ;
|
||||
|
||||
return os ;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef _OWLPS_POSITIONING_REFERENCEPOINT_HH_
|
||||
#define _OWLPS_POSITIONING_REFERENCEPOINT_HH_
|
||||
|
||||
class CalibrationMeasurement ;
|
||||
class CalibrationRequest ;
|
||||
|
||||
#include "point3d.hh"
|
||||
|
||||
|
@ -12,10 +12,10 @@ class CalibrationMeasurement ;
|
|||
class ReferencePoint: public Point3D
|
||||
{
|
||||
protected:
|
||||
/// List of CalibrationMeasurement associated with the ReferencePoint
|
||||
/** Note that \em measurements is a \em pointer list: only pointers
|
||||
/// List of CalibrationRequest associated with the ReferencePoint
|
||||
/** Note that \em requests is a \em pointer list: only pointers
|
||||
are stored, not values. */
|
||||
std::vector<CalibrationMeasurement*> measurements ;
|
||||
std::vector<CalibrationRequest*> requests ;
|
||||
|
||||
public:
|
||||
/// 3-float constructor or default constructor
|
||||
|
@ -24,30 +24,30 @@ public:
|
|||
/// Constructs a ReferencePoint from a Point3D
|
||||
ReferencePoint(const Point3D &p): Point3D(p) {}
|
||||
/// Copy constructor
|
||||
ReferencePoint(const ReferencePoint &rp):
|
||||
Point3D(rp), measurements(rp.measurements) {}
|
||||
ReferencePoint(const ReferencePoint &source):
|
||||
Point3D(source), requests(source.requests) {}
|
||||
|
||||
~ReferencePoint(void) ; ///< Destructor
|
||||
|
||||
/** @name Read accessors */
|
||||
//@{
|
||||
/// #measurements read accessor
|
||||
const std::vector<CalibrationMeasurement*>& get_measurements(void) const ;
|
||||
/// #requests read accessor
|
||||
const std::vector<CalibrationRequest*>& get_requests(void) const ;
|
||||
//@}
|
||||
|
||||
/** @name Write accessors */
|
||||
//@{
|
||||
/// Adds a Measurement to the \link #measurements measurement list\endlink
|
||||
void add_measurement(const CalibrationMeasurement *cm) ;
|
||||
// float get_ss_square_distance(const vector<CalibrationMeasurement> &m) const ;
|
||||
/// Adds a Request to the \link #requests request list\endlink
|
||||
void add_request(const CalibrationRequest *cm) ;
|
||||
// float get_ss_square_distance(const vector<CalibrationRequest> &m) const ;
|
||||
// bool get_power_for_ap(const string &ap_mac, float *p) const ;
|
||||
//@}
|
||||
|
||||
/** @name Operators */
|
||||
//@{
|
||||
const ReferencePoint& operator=(const ReferencePoint &rp) ;
|
||||
bool operator==(const ReferencePoint &rp) const ;
|
||||
bool operator!=(const ReferencePoint &rp) const ;
|
||||
const ReferencePoint& operator=(const ReferencePoint &source) ;
|
||||
bool operator==(const ReferencePoint &source) const ;
|
||||
bool operator!=(const ReferencePoint &source) const ;
|
||||
//@}
|
||||
|
||||
/// Displays a ReferencePoint
|
||||
|
@ -60,9 +60,9 @@ public:
|
|||
|
||||
|
||||
inline const
|
||||
std::vector<CalibrationMeasurement*>& ReferencePoint::get_measurements() const
|
||||
std::vector<CalibrationRequest*>& ReferencePoint::get_requests() const
|
||||
{
|
||||
return measurements ;
|
||||
return requests ;
|
||||
}
|
||||
|
||||
|
||||
|
@ -71,16 +71,16 @@ std::vector<CalibrationMeasurement*>& ReferencePoint::get_measurements() const
|
|||
|
||||
|
||||
/**
|
||||
* @param cm A pointer to the CalibrationMeasurement to add. If it is
|
||||
* @param cm A pointer to the CalibrationRequest to add. If it is
|
||||
* NULL, nothing will be done.
|
||||
* The memory pointed by this pointer must not be deallocated before
|
||||
* the ReferencePoint destruction (do \em not pass a pointer to a local
|
||||
* variable!).
|
||||
*/
|
||||
inline void ReferencePoint::add_measurement(const CalibrationMeasurement *cm)
|
||||
inline void ReferencePoint::add_request(const CalibrationRequest *cm)
|
||||
{
|
||||
if (cm != NULL)
|
||||
measurements.push_back(const_cast<CalibrationMeasurement*>(cm)) ;
|
||||
requests.push_back(const_cast<CalibrationRequest*>(cm)) ;
|
||||
}
|
||||
|
||||
|
||||
|
@ -88,9 +88,9 @@ inline void ReferencePoint::add_measurement(const CalibrationMeasurement *cm)
|
|||
/* *** Operators *** */
|
||||
|
||||
|
||||
inline bool ReferencePoint::operator!=(const ReferencePoint &rp) const
|
||||
inline bool ReferencePoint::operator!=(const ReferencePoint &source) const
|
||||
{
|
||||
return !(*this == rp) ;
|
||||
return !(*this == source) ;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -25,21 +25,24 @@ protected:
|
|||
|
||||
public:
|
||||
/// Constructs a Request from a list of Measurement (or default constructor)
|
||||
Request(const std::tr1::unordered_map<std::string, Measurement> &_measurements
|
||||
= std::tr1::unordered_map<std::string, Measurement>()) ;
|
||||
Request(const std::tr1::unordered_map<std::string, Measurement>
|
||||
&_measurements =
|
||||
std::tr1::unordered_map<std::string, Measurement>()) ;
|
||||
/// Constructs a Request from a timestamp and (possibly) a Measurement list
|
||||
Request(const Timestamp &_timestamp,
|
||||
const std::tr1::unordered_map<std::string, Measurement> &_measurements
|
||||
= std::tr1::unordered_map<std::string, Measurement>()) ;
|
||||
const std::tr1::unordered_map<std::string, Measurement>
|
||||
&_measurements =
|
||||
std::tr1::unordered_map<std::string, Measurement>()) ;
|
||||
/// \brief Constructs a request from a mobile and a timestamp and (possibly)
|
||||
/// a Measurement list
|
||||
Request(const Mobile *_mobile, const Timestamp &_timestamp,
|
||||
const std::tr1::unordered_map<std::string, Measurement> &_measurements
|
||||
= std::tr1::unordered_map<std::string, Measurement>()) ;
|
||||
const std::tr1::unordered_map<std::string, Measurement>
|
||||
&_measurements =
|
||||
std::tr1::unordered_map<std::string, Measurement>()) ;
|
||||
/// Copy constructor
|
||||
Request(const Request &source) ;
|
||||
|
||||
~Request(void) ; ///< Destructor
|
||||
virtual ~Request(void) ;
|
||||
|
||||
/** @name Read accessors */
|
||||
//@{
|
||||
|
|
|
@ -1,84 +0,0 @@
|
|||
#include <cxxtest/TestSuite.h>
|
||||
|
||||
#include "calibrationmeasurement.hh"
|
||||
|
||||
class CalibrationMeasurement_test: public CxxTest::TestSuite
|
||||
{
|
||||
public:
|
||||
|
||||
void test_constructors(void)
|
||||
{
|
||||
// Default constructor
|
||||
CalibrationMeasurement cm00 ;
|
||||
std::vector<int> vi1 ;
|
||||
CalibrationMeasurement cm01(NULL, vi1, NULL) ;
|
||||
TS_ASSERT_EQUALS(cm00, cm01) ;
|
||||
|
||||
// Copy constructor
|
||||
AccessPoint ap1 ;
|
||||
ReferencePoint rp1 ;
|
||||
CalibrationMeasurement cm1(&ap1, vi1, &rp1) ;
|
||||
CalibrationMeasurement cm2(cm1) ;
|
||||
TS_ASSERT_EQUALS(cm1, cm2) ;
|
||||
|
||||
// Measurement copy constructor
|
||||
Measurement m1(&ap1, vi1) ;
|
||||
CalibrationMeasurement cm3(m1) ;
|
||||
TS_ASSERT_EQUALS(m1, cm3) ;
|
||||
}
|
||||
|
||||
|
||||
void test_accessors(void)
|
||||
{
|
||||
// Simple read accessors
|
||||
AccessPoint ap1 ;
|
||||
std::vector<int> vi1 ;
|
||||
CalibrationMeasurement cm1(&ap1, vi1) ;
|
||||
TS_ASSERT_EQUALS(cm1.get_ap(), &ap1) ;
|
||||
TS_ASSERT_EQUALS(cm1.get_ss_list(), vi1) ;
|
||||
TS_ASSERT_EQUALS(cm1.get_average_ss(), 0) ;
|
||||
|
||||
// Write & read accessors
|
||||
AccessPoint ap2 ;
|
||||
cm1.set_ap(&ap2) ;
|
||||
TS_ASSERT_EQUALS(cm1.get_ap(), &ap2) ;
|
||||
|
||||
cm1.add_ss(-33) ;
|
||||
cm1.add_ss(-78) ;
|
||||
cm1.add_ss(-21) ;
|
||||
vi1.push_back(-33) ;
|
||||
vi1.push_back(-78) ;
|
||||
vi1.push_back(-21) ;
|
||||
TS_ASSERT_EQUALS(cm1.get_ss_list(), vi1) ;
|
||||
|
||||
std::vector<int> vi2 ;
|
||||
vi1.push_back(-54) ;
|
||||
vi1.push_back(-1) ;
|
||||
cm1.set_ss_list(vi2) ;
|
||||
TS_ASSERT_EQUALS(cm1.get_ss_list(), vi2) ;
|
||||
|
||||
cm1.clear() ;
|
||||
CalibrationMeasurement cm2 ;
|
||||
TS_ASSERT_EQUALS(cm1, cm2) ;
|
||||
}
|
||||
|
||||
|
||||
void test_operators(void)
|
||||
{
|
||||
// ==
|
||||
AccessPoint ap1 ;
|
||||
CalibrationMeasurement cm1(&ap1) ;
|
||||
CalibrationMeasurement cm2(&ap1) ;
|
||||
TS_ASSERT_EQUALS(cm1, cm2) ;
|
||||
|
||||
// !=
|
||||
AccessPoint ap2 ;
|
||||
CalibrationMeasurement cm3(&ap2) ;
|
||||
TS_ASSERT_DIFFERS(cm1, cm3) ;
|
||||
|
||||
// =
|
||||
cm2 = cm3 ;
|
||||
TS_ASSERT_EQUALS(cm2, cm3) ;
|
||||
}
|
||||
|
||||
} ;
|
|
@ -0,0 +1,94 @@
|
|||
#include <cxxtest/TestSuite.h>
|
||||
|
||||
#include "calibrationrequest.hh"
|
||||
|
||||
class CalibrationRequest_test: public CxxTest::TestSuite
|
||||
{
|
||||
public:
|
||||
|
||||
void test_constructors(void)
|
||||
{
|
||||
// Default constructor
|
||||
CalibrationRequest calibrationrequest00 ;
|
||||
std::vector<int> vi1 ;
|
||||
CalibrationRequest calibrationrequest01(Request(), NULL) ;
|
||||
TS_ASSERT_EQUALS(calibrationrequest00, calibrationrequest01) ;
|
||||
|
||||
// Copy constructor
|
||||
Mobile mobile1 ;
|
||||
Timestamp timestamp1 ;
|
||||
timestamp1.now() ;
|
||||
Request request1(&mobile1, timestamp1) ;
|
||||
ReferencePoint referencepoint1 ;
|
||||
CalibrationRequest calibrationrequest1(request1, &referencepoint1) ;
|
||||
CalibrationRequest calibrationrequest2(calibrationrequest1) ;
|
||||
TS_ASSERT_EQUALS(calibrationrequest1, calibrationrequest2) ;
|
||||
|
||||
// Request copy constructor
|
||||
CalibrationRequest calibrationrequest3(request1) ;
|
||||
TS_ASSERT_EQUALS(request1, calibrationrequest3) ;
|
||||
}
|
||||
|
||||
|
||||
void test_accessors(void)
|
||||
{
|
||||
// Note: for the moment, I leave the test of get_measurements() and
|
||||
// set_measurements() to Request_test.
|
||||
|
||||
// Simple read accessors
|
||||
Mobile mobile1 ;
|
||||
Timestamp timestamp1 ;
|
||||
timestamp1.now() ;
|
||||
Request request1(&mobile1, timestamp1) ;
|
||||
ReferencePoint referencepoint1(1,2,3) ;
|
||||
CalibrationRequest calibrationrequest1(request1, &referencepoint1) ;
|
||||
TS_ASSERT_EQUALS(calibrationrequest1.get_mobile(), &mobile1) ;
|
||||
TS_ASSERT_EQUALS(calibrationrequest1.get_timestamp(), timestamp1) ;
|
||||
TS_ASSERT_EQUALS(calibrationrequest1.get_reference_point(),
|
||||
&referencepoint1) ;
|
||||
|
||||
// Write & read accessors
|
||||
Mobile mobile2 ;
|
||||
calibrationrequest1.set_mobile(&mobile2) ;
|
||||
TS_ASSERT_EQUALS(calibrationrequest1.get_mobile(), &mobile2) ;
|
||||
|
||||
timestamp1.set_timestamp_ms(42) ;
|
||||
calibrationrequest1.set_timestamp(timestamp1) ;
|
||||
TS_ASSERT_EQUALS(calibrationrequest1.get_timestamp(), timestamp1) ;
|
||||
|
||||
ReferencePoint referencepoint2(4,3,2) ;
|
||||
calibrationrequest1.set_reference_point(&referencepoint2) ;
|
||||
TS_ASSERT_EQUALS(calibrationrequest1.get_reference_point(),
|
||||
&referencepoint2) ;
|
||||
|
||||
calibrationrequest1.clear() ;
|
||||
CalibrationRequest calibrationrequest2 ;
|
||||
TS_ASSERT_EQUALS(calibrationrequest1, calibrationrequest2) ;
|
||||
}
|
||||
|
||||
|
||||
void test_operators(void)
|
||||
{
|
||||
// ==
|
||||
Mobile mobile1 ;
|
||||
Timestamp timestamp1 ;
|
||||
timestamp1.now() ;
|
||||
Request request1(&mobile1, timestamp1) ;
|
||||
ReferencePoint referencepoint1 ;
|
||||
CalibrationRequest calibrationrequest1(request1, &referencepoint1) ;
|
||||
CalibrationRequest calibrationrequest2(request1, &referencepoint1) ;
|
||||
TS_ASSERT_EQUALS(calibrationrequest1, calibrationrequest2) ;
|
||||
|
||||
// !=
|
||||
timestamp1.now() ;
|
||||
Request request2(&mobile1, timestamp1) ;
|
||||
ReferencePoint referencepoint2 ;
|
||||
CalibrationRequest calibrationrequest3(request2, &referencepoint2) ;
|
||||
TS_ASSERT_DIFFERS(calibrationrequest1, calibrationrequest3) ;
|
||||
|
||||
// =
|
||||
calibrationrequest2 = calibrationrequest3 ;
|
||||
TS_ASSERT_EQUALS(calibrationrequest2, calibrationrequest3) ;
|
||||
}
|
||||
|
||||
} ;
|
|
@ -1,7 +1,7 @@
|
|||
#include <cxxtest/TestSuite.h>
|
||||
|
||||
#include "referencepoint.hh"
|
||||
#include "calibrationmeasurement.hh"
|
||||
#include "calibrationrequest.hh"
|
||||
|
||||
class ReferencePoint_test: public CxxTest::TestSuite
|
||||
{
|
||||
|
@ -40,15 +40,15 @@ public:
|
|||
TS_ASSERT_EQUALS(rp1.get_z(), 5) ;
|
||||
|
||||
// Write & read accessors
|
||||
CalibrationMeasurement cm1, cm2, cm3 ;
|
||||
rp1.add_measurement(&cm1) ;
|
||||
rp1.add_measurement(&cm2) ;
|
||||
rp1.add_measurement(&cm3) ;
|
||||
std::vector<CalibrationMeasurement*> vcm1 ;
|
||||
vcm1.push_back(&cm1) ;
|
||||
vcm1.push_back(&cm2) ;
|
||||
vcm1.push_back(&cm3) ;
|
||||
TS_ASSERT_EQUALS(rp1.get_measurements(), vcm1) ;
|
||||
CalibrationRequest calibrationrequest1, calibrationrequest2, calibrationrequest3 ;
|
||||
rp1.add_request(&calibrationrequest1) ;
|
||||
rp1.add_request(&calibrationrequest2) ;
|
||||
rp1.add_request(&calibrationrequest3) ;
|
||||
std::vector<CalibrationRequest*> vcr1 ;
|
||||
vcr1.push_back(&calibrationrequest1) ;
|
||||
vcr1.push_back(&calibrationrequest2) ;
|
||||
vcr1.push_back(&calibrationrequest3) ;
|
||||
TS_ASSERT_EQUALS(rp1.get_requests(), vcr1) ;
|
||||
rp1.set_x(42) ;
|
||||
TS_ASSERT_EQUALS(rp1.get_x(), 42) ;
|
||||
rp1.set_y(321) ;
|
||||
|
|
|
@ -40,7 +40,7 @@ public:
|
|||
Request r1(&mob1, current_time, measurements) ;
|
||||
TS_ASSERT_EQUALS(r1.get_mobile(), &mob1) ;
|
||||
TS_ASSERT_EQUALS(r1.get_timestamp(), current_time) ;
|
||||
//TS_ASSERT_EQUALS(r1.get_measurements(), measurements) ;
|
||||
TS_ASSERT_EQUALS(r1.get_measurements(), measurements) ;
|
||||
|
||||
// Write & read accessors
|
||||
Mobile mob2 ;
|
||||
|
@ -55,7 +55,7 @@ public:
|
|||
Measurement meas2(&ap2) ;
|
||||
measurements["aa:bb:cc:dd:ee:02"] = meas2 ;
|
||||
r1.set_measurements(measurements) ;
|
||||
//TS_ASSERT_EQUALS(r1.get_measurements(), measurements) ;
|
||||
TS_ASSERT_EQUALS(r1.get_measurements(), measurements) ;
|
||||
|
||||
// clear()
|
||||
r1.clear() ;
|
||||
|
|
Loading…
Reference in New Issue