From 5f0bb90d45c2c489ab9b4fa8abafe3d49faa409d Mon Sep 17 00:00:00 2001 From: Matteo Cypriani Date: Mon, 8 Mar 2010 17:28:47 +0100 Subject: [PATCH] [Positioning] TestUtil: clean set_up(), add Result list TestUtil: - Split set_up() into several functions. - Add a list of Result, which will be useful very soon. --- owlps-positioning/tests/testutil.cc | 41 ++++++++++++++++++++++++++--- owlps-positioning/tests/testutil.hh | 8 ++++++ 2 files changed, 45 insertions(+), 4 deletions(-) diff --git a/owlps-positioning/tests/testutil.cc b/owlps-positioning/tests/testutil.cc index 54ee6a6..c94a465 100644 --- a/owlps-positioning/tests/testutil.cc +++ b/owlps-positioning/tests/testutil.cc @@ -2,6 +2,7 @@ #include #include "calibrationrequest.hh" +#include "realposition.hh" #include #include @@ -13,6 +14,7 @@ using std::tr1::unordered_map ; vector TestUtil::aps ; vector TestUtil::mobiles ; vector TestUtil::requests ; +vector TestUtil::results ; vector TestUtil::reference_points ; @@ -20,27 +22,37 @@ void TestUtil::tear_down() { aps.clear() ; mobiles.clear() ; - reference_points.clear() ; for (vector::const_iterator i = requests.begin() ; i != requests.end() ; ++i) delete *i ; requests.clear() ; + + results.clear() ; + reference_points.clear() ; } void TestUtil::set_up() { tear_down() ; + create_mobile_list() ; + create_ap_list() ; + create_request_list() ; + create_result_list() ; +} - // Create mobile list +void TestUtil::create_mobile_list() +{ Mobile mobile1 ; mobile1.set_mac_addr("aa:bb:cc:dd:ee:ff") ; mobiles.push_back(mobile1) ; mobile1.set_mac_addr("aa:bb:cc:dd:ee:77") ; mobiles.push_back(mobile1) ; +} - // Create AP list +void TestUtil::create_ap_list() +{ AccessPoint ap1 ; ap1.set_mac_addr("11:22:33:44:55:01") ; aps.push_back(ap1) ; @@ -48,8 +60,11 @@ void TestUtil::set_up() aps.push_back(ap1) ; ap1.set_mac_addr("11:22:33:44:55:03") ; aps.push_back(ap1) ; +} - // Create request list +void TestUtil::create_request_list() +{ + // Create measurement list vector < unordered_map > measurements(3) ; Measurement measurement1 ; @@ -122,6 +137,24 @@ void TestUtil::set_up() measurements[2])) ; } +void TestUtil::create_result_list() +{ + RealPosition algo ; + + for (vector::const_iterator i = requests.begin() ; + i != requests.end() ; ++i) + { + CalibrationRequest *calibration_request = + dynamic_cast(*i) ; + Result result ; + if (calibration_request != NULL) + result = algo.compute(*calibration_request) ; + else + result = algo.compute(**i) ; + results.push_back(result) ; + } +} + // Create the file output_file_name and fill it with the contents of // output_lines diff --git a/owlps-positioning/tests/testutil.hh b/owlps-positioning/tests/testutil.hh index 92990ae..5b765a1 100644 --- a/owlps-positioning/tests/testutil.hh +++ b/owlps-positioning/tests/testutil.hh @@ -6,6 +6,7 @@ #include "request.hh" #include "measurement.hh" #include "referencepoint.hh" +#include "result.hh" #include #include @@ -13,10 +14,17 @@ class TestUtil { +private: + static void create_mobile_list(void) ; + static void create_ap_list(void) ; + static void create_request_list(void) ; + static void create_result_list(void) ; + public: static std::vector aps ; static std::vector mobiles ; static std::vector requests ; + static std::vector results ; static std::vector reference_points ; static void set_up(void) ;