[Positioning] Tests: add global set up & tear down
Work on unit tests: - TestUtil: - Add set_up(), that sets up lists of Request, Mobile and AccessPoint, primarily to be used with create_test_csv_file(). - Add public attributes for these lists. - Update create_test_csv_file() to use these lists. - Update InputCSV_test to use new TestUtil. - Add class TestSetUp, a global fixture class. Before all tests off all test suites, it calls TestUtil::set_up(). - Update and clean Makefile.
This commit is contained in:
parent
dbd58f8178
commit
8257e9e67d
|
@ -1,10 +1,6 @@
|
|||
.PHONY : all test doc clean purge install uninstall style check
|
||||
|
||||
TEST_DIR = tests
|
||||
TEST_XX = $(TEST_DIR)/tests.cc
|
||||
TEST_OBJ = $(TEST_DIR)/tests.o
|
||||
TESTUTIL_OBJ = $(TEST_DIR)/testutil.o
|
||||
TEST_TARGET = $(TEST_DIR)/tests
|
||||
TESTS_DIR = tests
|
||||
DOXYGEN_DIR = doc
|
||||
DOXYFILE = Doxyfile
|
||||
|
||||
|
@ -25,7 +21,7 @@ DOXYGEN = doxygen
|
|||
# Compilation tools and flags
|
||||
GXX = g++-4.4
|
||||
#DEBUG = -g
|
||||
TESTSGXXFLAGS = -I$(TEST_DIR) -I.
|
||||
TESTSGXXFLAGS = -I$(TESTS_DIR) -I.
|
||||
GXXFLAGS = $(DEBUG) -Wall -Wextra
|
||||
LD = $(GXX)
|
||||
LDFLAGS = -lm -lrt -lboost_program_options
|
||||
|
@ -38,17 +34,26 @@ OBJ = posutil.o stock.o timestamp.o point3d.o referencepoint.o \
|
|||
inputcsv.o configuration.o userinterface.o input.o
|
||||
OBJ_NOTEST = posexcept.o
|
||||
|
||||
TESTS_XX = $(TESTS_DIR)/tests.cc
|
||||
TESTS_OBJ = $(TESTS_DIR)/tests.o
|
||||
TESTS_TARGET = $(TESTS_DIR)/tests
|
||||
TESTUTIL_OBJ = $(TESTS_DIR)/testutil.o
|
||||
TESTSETUP_OBJ = $(TESTS_DIR)/testsetup.o
|
||||
SOURCE_TESTS = $(OBJ:%.o=$(TESTS_DIR)/%_test.hh)
|
||||
OBJ_TESTS = $(TESTUTIL_OBJ) $(TESTSETUP_OBJ)
|
||||
INCLUDES_TESTS = $(TESTS_DIR)/valuetraits.hh
|
||||
|
||||
all: $(TARGET)
|
||||
|
||||
# Generic targets
|
||||
%: %.o
|
||||
$(LD) $(LDFLAGS) -o $@ $^
|
||||
$(TESTS_DIR)/%.o: $(TESTS_DIR)/%.cc $(TESTS_DIR)/%.hh
|
||||
$(GXX) $(GXXFLAGS) $(TESTSGXXFLAGS) -o $@ -c $<
|
||||
|
||||
%.o: %.cc %.hh
|
||||
$(GXX) $(GXXFLAGS) -c $<
|
||||
|
||||
$(TEST_DIR)/%_test.o: %.o
|
||||
$(GXX) $(GXXFLAGS) $(TESTSGXXFLAGS) -c $<
|
||||
%: %.o
|
||||
$(LD) $(LDFLAGS) -o $@ $^
|
||||
|
||||
# Dependencies
|
||||
userinterface.o: configuration.o
|
||||
|
@ -67,35 +72,32 @@ input.o: posexcept.o
|
|||
# Specific targets
|
||||
$(TARGET): $(OBJ) $(OBJ_NOTEST)
|
||||
|
||||
$(TEST_XX): $(OBJ:%.o=$(TEST_DIR)/%_test.hh)
|
||||
$(TEST_DIR)/cxxtestgen.pl --error-printer \
|
||||
--include=$(TEST_DIR)/valuetraits.hh \
|
||||
$(TESTS_XX): $(SOURCE_TESTS)
|
||||
$(TESTS_DIR)/cxxtestgen.pl --error-printer \
|
||||
--include=$(TESTS_DIR)/valuetraits.hh \
|
||||
--include=$(TESTUTIL_OBJ:.o=.hh) \
|
||||
-o $@ $^
|
||||
|
||||
$(TEST_OBJ): $(TEST_XX) $(OBJ) $(TESTUTIL_OBJ) $(TEST_DIR)/valuetraits.hh
|
||||
$(TESTS_OBJ): $(TESTS_XX) $(OBJ) $(INCLUDES_TESTS)
|
||||
$(GXX) $(GXXFLAGS) $(TESTSGXXFLAGS) -o $@ -c $<
|
||||
|
||||
$(TESTUTIL_OBJ): $(TESTUTIL_OBJ:.o=.cc) $(TESTUTIL_OBJ:.o=.hh)
|
||||
$(GXX) $(GXXFLAGS) $(TESTSGXXFLAGS) -o $@ -c $<
|
||||
|
||||
$(TEST_TARGET): $(TEST_OBJ) $(TESTUTIL_OBJ)
|
||||
$(TESTS_TARGET): $(TESTS_OBJ) $(OBJ_TESTS)
|
||||
$(LD) $(LDFLAGS) -o $@ $^ $(OBJ) $(OBJ_NOTEST)
|
||||
|
||||
test: $(TEST_TARGET)
|
||||
@$(TEST_TARGET)
|
||||
test: $(TESTS_TARGET)
|
||||
@$(TESTS_TARGET)
|
||||
|
||||
doc:
|
||||
@$(DOXYGEN) $(DOXYFILE)
|
||||
|
||||
clean:
|
||||
@$(RM) *~ *.o *.gch *.orig
|
||||
@$(RM) $(TEST_XX) $(TEST_DIR)/*~ $(TEST_DIR)/*.o \
|
||||
$(TEST_DIR)/*.orig
|
||||
@$(RM) $(TESTS_XX) $(TESTS_DIR)/*~ $(TESTS_DIR)/*.o \
|
||||
$(TESTS_DIR)/*.orig
|
||||
|
||||
purge: clean
|
||||
@$(RM) $(TARGET)
|
||||
@$(RM) $(TEST_TARGET)
|
||||
@$(RM) $(TESTS_TARGET)
|
||||
@$(RM_RECURSIVE) $(DOXYGEN_DIR)
|
||||
|
||||
install: $(TARGET)
|
||||
|
@ -113,7 +115,8 @@ style:
|
|||
$(OBJ_NOTEST:.o=.hh) \
|
||||
$(OBJ_NOTEST:.o=.cc) \
|
||||
inputmedium.hh \
|
||||
$(OBJ:%.o=$(TEST_DIR)/%_test.hh)
|
||||
$(TESTS_DIR)/*.hh \
|
||||
$(TESTS_DIR)/*.cc
|
||||
|
||||
check:
|
||||
@$(CPPCHECK) \
|
||||
|
|
|
@ -24,7 +24,7 @@ public:
|
|||
Stock::clear() ;
|
||||
|
||||
csv_file_name = "/tmp/InputCSV_test_csv_file.csv" ;
|
||||
aps = TestUtil::create_test_csv_file(csv_file_name) ;
|
||||
TestUtil::create_test_csv_file(csv_file_name, true) ;
|
||||
|
||||
// Back to the normal behaviour (i.e. do not abort on fail)
|
||||
CxxTest::setAbortTestOnFail(false) ;
|
||||
|
@ -61,30 +61,24 @@ public:
|
|||
TS_ASSERT(! inputcsv1.eof()) ;
|
||||
|
||||
Request request1 ;
|
||||
std::tr1::unordered_map<std::string, Measurement> measurements ;
|
||||
|
||||
// First Request //
|
||||
|
||||
request1 = inputcsv1.get_next_request() ;
|
||||
TS_ASSERT_EQUALS(request1.get_mobile()->get_mac_addr(),
|
||||
"aa:bb:cc:dd:ee:ff") ;
|
||||
TS_ASSERT_EQUALS(request1.get_timestamp().get_timestamp_ms(),
|
||||
1265120910725llu) ;
|
||||
TestUtil::mobiles[0].get_mac_addr()) ;
|
||||
TS_ASSERT_EQUALS(request1.get_timestamp(),
|
||||
TestUtil::requests[0].get_timestamp()) ;
|
||||
|
||||
measurements[aps[0].get_mac_addr()].add_ss(-58) ;
|
||||
measurements[aps[2].get_mac_addr()].add_ss(-50) ;
|
||||
measurements[aps[1].get_mac_addr()].add_ss(-42) ;
|
||||
measurements[aps[0].get_mac_addr()].add_ss(-55) ;
|
||||
measurements[aps[1].get_mac_addr()].add_ss(-37) ;
|
||||
|
||||
for (std::vector<AccessPoint>::const_iterator i = aps.begin() ;
|
||||
i != aps.end() ; ++i)
|
||||
for (std::vector<AccessPoint>::const_iterator i = TestUtil::aps.begin() ;
|
||||
i != TestUtil::aps.end() ; ++i)
|
||||
{
|
||||
std::tr1::unordered_map<std::string, Measurement>::const_iterator
|
||||
measurement_it1 =
|
||||
request1.get_measurements().find(i->get_mac_addr()) ;
|
||||
TS_ASSERT_DIFFERS(request1.get_measurements().end(), measurement_it1) ;
|
||||
TS_ASSERT_EQUALS(measurements[i->get_mac_addr()].get_ss_list(),
|
||||
TS_ASSERT_EQUALS(TestUtil::requests[0].get_measurements().
|
||||
at(i->get_mac_addr()).get_ss_list(),
|
||||
measurement_it1->second.get_ss_list()) ;
|
||||
}
|
||||
|
||||
|
@ -95,25 +89,19 @@ public:
|
|||
|
||||
request1 = inputcsv1.get_next_request() ;
|
||||
TS_ASSERT_EQUALS(request1.get_mobile()->get_mac_addr(),
|
||||
"aa:bb:cc:dd:ee:77") ;
|
||||
TS_ASSERT_EQUALS(request1.get_timestamp().get_timestamp_ms(),
|
||||
1265120911234llu) ;
|
||||
TestUtil::mobiles[1].get_mac_addr()) ;
|
||||
TS_ASSERT_EQUALS(request1.get_timestamp(),
|
||||
TestUtil::requests[1].get_timestamp()) ;
|
||||
|
||||
measurements.clear() ;
|
||||
measurements[aps[2].get_mac_addr()].add_ss(-59) ;
|
||||
measurements[aps[0].get_mac_addr()].add_ss(-51) ;
|
||||
measurements[aps[1].get_mac_addr()].add_ss(-70) ;
|
||||
measurements[aps[1].get_mac_addr()].add_ss(-21) ;
|
||||
measurements[aps[0].get_mac_addr()].add_ss(-19) ;
|
||||
|
||||
for (std::vector<AccessPoint>::const_iterator i = aps.begin() ;
|
||||
i != aps.end() ; ++i)
|
||||
for (std::vector<AccessPoint>::const_iterator i = TestUtil::aps.begin() ;
|
||||
i != TestUtil::aps.end() ; ++i)
|
||||
{
|
||||
std::tr1::unordered_map<std::string, Measurement>::const_iterator
|
||||
measurement_it1 =
|
||||
request1.get_measurements().find(i->get_mac_addr()) ;
|
||||
TS_ASSERT_DIFFERS(request1.get_measurements().end(), measurement_it1) ;
|
||||
TS_ASSERT_EQUALS(measurements[i->get_mac_addr()].get_ss_list(),
|
||||
TS_ASSERT_EQUALS(TestUtil::requests[1].get_measurements().
|
||||
at(i->get_mac_addr()).get_ss_list(),
|
||||
measurement_it1->second.get_ss_list()) ;
|
||||
}
|
||||
|
||||
|
@ -124,25 +112,19 @@ public:
|
|||
|
||||
request1 = inputcsv1.get_next_request() ;
|
||||
TS_ASSERT_EQUALS(request1.get_mobile()->get_mac_addr(),
|
||||
"aa:bb:cc:dd:ee:ff") ;
|
||||
TS_ASSERT_EQUALS(request1.get_timestamp().get_timestamp_ms(),
|
||||
1265120912345llu) ;
|
||||
TestUtil::mobiles[0].get_mac_addr()) ;
|
||||
TS_ASSERT_EQUALS(request1.get_timestamp(),
|
||||
TestUtil::requests[2].get_timestamp()) ;
|
||||
|
||||
measurements.clear() ;
|
||||
measurements[aps[2].get_mac_addr()].add_ss(-56) ;
|
||||
measurements[aps[1].get_mac_addr()].add_ss(-45) ;
|
||||
measurements[aps[0].get_mac_addr()].add_ss(-54) ;
|
||||
measurements[aps[1].get_mac_addr()].add_ss(-23) ;
|
||||
measurements[aps[0].get_mac_addr()].add_ss(-32) ;
|
||||
|
||||
for (std::vector<AccessPoint>::const_iterator i = aps.begin() ;
|
||||
i != aps.end() ; ++i)
|
||||
for (std::vector<AccessPoint>::const_iterator i = TestUtil::aps.begin() ;
|
||||
i != TestUtil::aps.end() ; ++i)
|
||||
{
|
||||
std::tr1::unordered_map<std::string, Measurement>::const_iterator
|
||||
measurement_it1 =
|
||||
request1.get_measurements().find(i->get_mac_addr()) ;
|
||||
TS_ASSERT_DIFFERS(request1.get_measurements().end(), measurement_it1) ;
|
||||
TS_ASSERT_EQUALS(measurements[i->get_mac_addr()].get_ss_list(),
|
||||
TS_ASSERT_EQUALS(TestUtil::requests[2].get_measurements().
|
||||
at(i->get_mac_addr()).get_ss_list(),
|
||||
measurement_it1->second.get_ss_list()) ;
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
#include "testsetup.hh"
|
||||
|
||||
|
||||
// Create the global fixture
|
||||
static TestSetUp testsetup ;
|
||||
|
||||
|
||||
bool TestSetUp::setUpWorld(void)
|
||||
{
|
||||
TestUtil::set_up() ;
|
||||
return true ;
|
||||
}
|
||||
|
||||
|
||||
bool TestSetUp::tearDownWorld(void)
|
||||
{
|
||||
TestUtil::tear_down() ;
|
||||
return true ;
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
#include <cxxtest/GlobalFixture.h>
|
||||
|
||||
#include "testutil.hh"
|
||||
|
||||
class TestSetUp: public CxxTest::GlobalFixture
|
||||
{
|
||||
public:
|
||||
bool setUpWorld(void) ;
|
||||
bool tearDownWorld(void) ;
|
||||
} ;
|
|
@ -1,9 +1,100 @@
|
|||
#include "testutil.hh"
|
||||
#include <cxxtest/TestSuite.h>
|
||||
|
||||
#include "measurement.hh"
|
||||
|
||||
#include <fstream>
|
||||
#include <sstream>
|
||||
#include <boost/tr1/unordered_map.hpp>
|
||||
|
||||
using namespace std ;
|
||||
using std::tr1::unordered_map ;
|
||||
|
||||
vector<AccessPoint> TestUtil::aps ;
|
||||
vector<Mobile> TestUtil::mobiles ;
|
||||
vector<Request> TestUtil::requests ;
|
||||
|
||||
|
||||
void TestUtil::tear_down()
|
||||
{
|
||||
aps.clear() ;
|
||||
mobiles.clear() ;
|
||||
requests.clear() ;
|
||||
}
|
||||
|
||||
|
||||
void TestUtil::set_up()
|
||||
{
|
||||
tear_down() ;
|
||||
|
||||
// Create mobile list
|
||||
mobiles.push_back(Mobile("192.168.0.42", "aa:bb:cc:dd:ee:ff")) ;
|
||||
mobiles.push_back(Mobile("192.168.1.87", "aa:bb:cc:dd:ee:77")) ;
|
||||
|
||||
// Create AP list
|
||||
aps.push_back(AccessPoint(Point3D(1,2,3), "10.0.0.1", "11:22:33:44:55:01")) ;
|
||||
aps.push_back(AccessPoint(Point3D(4,5,6), "10.0.0.2", "11:22:33:44:55:02")) ;
|
||||
aps.push_back(AccessPoint(Point3D(7,8,9), "10.0.0.3", "11:22:33:44:55:03")) ;
|
||||
|
||||
// Create measurement list
|
||||
vector < unordered_map<string,Measurement> > measurements(3) ;
|
||||
Measurement measurement1 ;
|
||||
|
||||
measurement1.add_ss(-58) ;
|
||||
measurement1.add_ss(-55) ;
|
||||
measurement1.set_ap(&aps[0]) ;
|
||||
measurements[0][aps[0].get_mac_addr()] = measurement1 ;
|
||||
measurement1.clear() ;
|
||||
measurement1.add_ss(-50) ;
|
||||
measurement1.set_ap(&aps[2]) ;
|
||||
measurements[0][aps[2].get_mac_addr()] = measurement1 ;
|
||||
measurement1.clear() ;
|
||||
measurement1.add_ss(-42) ;
|
||||
measurement1.add_ss(-37) ;
|
||||
measurement1.set_ap(&aps[1]) ;
|
||||
measurements[0][aps[1].get_mac_addr()] = measurement1 ;
|
||||
|
||||
measurement1.clear() ;
|
||||
measurement1.add_ss(-51) ;
|
||||
measurement1.add_ss(-19) ;
|
||||
measurement1.set_ap(&aps[0]) ;
|
||||
measurements[1][aps[0].get_mac_addr()] = measurement1 ;
|
||||
measurement1.clear() ;
|
||||
measurement1.add_ss(-70) ;
|
||||
measurement1.add_ss(-21) ;
|
||||
measurement1.set_ap(&aps[1]) ;
|
||||
measurements[1][aps[1].get_mac_addr()] = measurement1 ;
|
||||
measurement1.clear() ;
|
||||
measurement1.add_ss(-59) ;
|
||||
measurement1.set_ap(&aps[2]) ;
|
||||
measurements[1][aps[2].get_mac_addr()] = measurement1 ;
|
||||
|
||||
measurement1.clear() ;
|
||||
measurement1.add_ss(-54) ;
|
||||
measurement1.add_ss(-32) ;
|
||||
measurement1.set_ap(&aps[0]) ;
|
||||
measurements[2][aps[0].get_mac_addr()] = measurement1 ;
|
||||
measurement1.clear() ;
|
||||
measurement1.add_ss(-45) ;
|
||||
measurement1.add_ss(-23) ;
|
||||
measurement1.set_ap(&aps[1]) ;
|
||||
measurements[2][aps[1].get_mac_addr()] = measurement1 ;
|
||||
measurement1.clear() ;
|
||||
measurement1.add_ss(-56) ;
|
||||
measurement1.set_ap(&aps[2]) ;
|
||||
measurements[2][aps[2].get_mac_addr()] = measurement1 ;
|
||||
|
||||
// Create timestamp list
|
||||
vector<Timestamp> timestamps ;
|
||||
timestamps.push_back(Timestamp(1265120910725)) ;
|
||||
timestamps.push_back(Timestamp(1265120911234)) ;
|
||||
timestamps.push_back(Timestamp(1265120912345)) ;
|
||||
|
||||
// Create request list
|
||||
requests.push_back(Request(timestamps[0], measurements[0])) ;
|
||||
requests.push_back(Request(timestamps[1], measurements[1])) ;
|
||||
requests.push_back(Request(timestamps[2], measurements[2])) ;
|
||||
}
|
||||
|
||||
|
||||
// Create the file output_file_name and fill it with the contents of
|
||||
|
@ -34,48 +125,119 @@ void TestUtil::remove_file(const string &file_name)
|
|||
}
|
||||
|
||||
|
||||
vector<AccessPoint> TestUtil::
|
||||
create_test_csv_file(const string &file_name)
|
||||
void TestUtil::
|
||||
create_test_csv_file(const string &file_name, bool with_spaces)
|
||||
{
|
||||
// Create AP list
|
||||
vector<AccessPoint> aps ;
|
||||
aps.push_back(AccessPoint(Point3D(1,2,3), "11:22:33:44:55:01")) ;
|
||||
aps.push_back(AccessPoint(Point3D(4,5,6), "11:22:33:44:55:02")) ;
|
||||
aps.push_back(AccessPoint(Point3D(7,8,9), "11:22:33:44:55:03")) ;
|
||||
|
||||
// Fill name and contents of the test CSV file
|
||||
vector<string> csv_lines ;
|
||||
csv_lines.push_back("\
|
||||
\n \n\
|
||||
aa:bb:cc:dd:ee:ff;1265120910725;0;0;0;0\
|
||||
;" + aps[0].get_mac_addr() + ";-58\
|
||||
;" + aps[2].get_mac_addr() + ";-50\
|
||||
;" + aps[1].get_mac_addr() + ";-42\
|
||||
;" + aps[0].get_mac_addr() + ";-55\
|
||||
;" + aps[1].get_mac_addr() + ";-37\
|
||||
\n") ;
|
||||
csv_lines.push_back("\
|
||||
aa:bb:cc:dd:ee:77;1265120911234;0;0;0;0\
|
||||
;" + aps[2].get_mac_addr() + ";-59\
|
||||
;" + aps[0].get_mac_addr() + ";-51\
|
||||
;" + aps[1].get_mac_addr() + ";-70\
|
||||
;" + aps[1].get_mac_addr() + ";-21\
|
||||
;" + aps[0].get_mac_addr() + ";-19\
|
||||
\n \n\
|
||||
ostringstream line ;
|
||||
|
||||
if (with_spaces)
|
||||
line << "\n \n " ;
|
||||
line << mobiles[0].get_mac_addr() ;
|
||||
line << ';' ;
|
||||
line << requests[0].get_timestamp().get_timestamp_ms() ;
|
||||
line << ";0;0;0;0;" ;
|
||||
line << aps[0].get_mac_addr() ;
|
||||
line << ";" ;
|
||||
line << requests[0].get_measurements().at(aps[0].get_mac_addr())
|
||||
.get_ss_list()[0] ;
|
||||
line << ";" ;
|
||||
line << aps[2].get_mac_addr() ;
|
||||
line << ";" ;
|
||||
line << requests[0].get_measurements().at(aps[2].get_mac_addr())
|
||||
.get_ss_list()[0] ;
|
||||
line << ";" ;
|
||||
line << aps[1].get_mac_addr() ;
|
||||
line << ";" ;
|
||||
line << requests[0].get_measurements().at(aps[1].get_mac_addr())
|
||||
.get_ss_list()[0] ;
|
||||
line << ";" ;
|
||||
line << aps[0].get_mac_addr() ;
|
||||
line << ";" ;
|
||||
line << requests[0].get_measurements().at(aps[0].get_mac_addr())
|
||||
.get_ss_list()[1] ;
|
||||
line << ";" ;
|
||||
line << aps[1].get_mac_addr() ;
|
||||
line << ";" ;
|
||||
line << requests[0].get_measurements().at(aps[1].get_mac_addr())
|
||||
.get_ss_list()[1] ;
|
||||
line << '\n' ;
|
||||
csv_lines.push_back(line.str()) ;
|
||||
|
||||
line.str("") ;
|
||||
line << mobiles[1].get_mac_addr() ;
|
||||
line << ';' ;
|
||||
line << requests[1].get_timestamp().get_timestamp_ms() ;
|
||||
line << ";0;0;0;0;" ;
|
||||
line << aps[2].get_mac_addr() ;
|
||||
line << ";" ;
|
||||
line << requests[1].get_measurements().at(aps[2].get_mac_addr())
|
||||
.get_ss_list()[0] ;
|
||||
line << ";" ;
|
||||
line << aps[0].get_mac_addr() ;
|
||||
line << ";" ;
|
||||
line << requests[1].get_measurements().at(aps[0].get_mac_addr())
|
||||
.get_ss_list()[0] ;
|
||||
line << ";" ;
|
||||
line << aps[1].get_mac_addr() ;
|
||||
line << ";" ;
|
||||
line << requests[1].get_measurements().at(aps[1].get_mac_addr())
|
||||
.get_ss_list()[0] ;
|
||||
line << ";" ;
|
||||
line << aps[1].get_mac_addr() ;
|
||||
line << ";" ;
|
||||
line << requests[1].get_measurements().at(aps[1].get_mac_addr())
|
||||
.get_ss_list()[1] ;
|
||||
line << ";" ;
|
||||
line << aps[0].get_mac_addr() ;
|
||||
line << ";" ;
|
||||
line << requests[1].get_measurements().at(aps[0].get_mac_addr())
|
||||
.get_ss_list()[1] ;
|
||||
line << '\n' ;
|
||||
if (with_spaces)
|
||||
line << " \n\
|
||||
\n\t\n\
|
||||
\n \t \n\
|
||||
\n") ;
|
||||
csv_lines.push_back("\
|
||||
\taa:bb:cc:dd:ee:ff;1265120912345;0;0;0;0\
|
||||
;" + aps[2].get_mac_addr() + ";-56\
|
||||
;" + aps[1].get_mac_addr() + ";-45\
|
||||
;" + aps[0].get_mac_addr() + ";-54\
|
||||
;" + aps[1].get_mac_addr() + ";-23\
|
||||
;" + aps[0].get_mac_addr() + ";-32\
|
||||
\n\n\t\n") ;
|
||||
\n" ;
|
||||
csv_lines.push_back(line.str()) ;
|
||||
|
||||
line.str("") ;
|
||||
if (with_spaces)
|
||||
line << '\t' ;
|
||||
line << mobiles[0].get_mac_addr() ;
|
||||
line << ';' ;
|
||||
line << requests[2].get_timestamp().get_timestamp_ms() ;
|
||||
line << ";0;0;0;0;" ;
|
||||
line << aps[2].get_mac_addr() ;
|
||||
line << ";" ;
|
||||
line << requests[2].get_measurements().at(aps[2].get_mac_addr())
|
||||
.get_ss_list()[0] ;
|
||||
line << ";" ;
|
||||
line << aps[1].get_mac_addr() ;
|
||||
line << ";" ;
|
||||
line << requests[2].get_measurements().at(aps[1].get_mac_addr())
|
||||
.get_ss_list()[0] ;
|
||||
line << ";" ;
|
||||
line << aps[0].get_mac_addr() ;
|
||||
line << ";" ;
|
||||
line << requests[2].get_measurements().at(aps[0].get_mac_addr())
|
||||
.get_ss_list()[0] ;
|
||||
line << ";" ;
|
||||
line << aps[1].get_mac_addr() ;
|
||||
line << ";" ;
|
||||
line << requests[2].get_measurements().at(aps[1].get_mac_addr())
|
||||
.get_ss_list()[1] ;
|
||||
line << ";" ;
|
||||
line << aps[0].get_mac_addr() ;
|
||||
line << ";" ;
|
||||
line << requests[2].get_measurements().at(aps[0].get_mac_addr())
|
||||
.get_ss_list()[1] ;
|
||||
line << '\n' ;
|
||||
if (with_spaces)
|
||||
line << "\n\t\n" ;
|
||||
csv_lines.push_back(line.str()) ;
|
||||
|
||||
// Create and fill the test CSV file
|
||||
fill_file(file_name, csv_lines) ;
|
||||
|
||||
return aps ;
|
||||
}
|
||||
|
|
|
@ -1,20 +1,29 @@
|
|||
#ifndef _OWLPS_POSITIONING_TESTS_TESTUTIL_HH_
|
||||
#define _OWLPS_POSITIONING_TESTS_TESTUTIL_HH_
|
||||
|
||||
#include "accesspoint.hh"
|
||||
#include "mobile.hh"
|
||||
#include "request.hh"
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "accesspoint.hh"
|
||||
|
||||
class TestUtil
|
||||
{
|
||||
public:
|
||||
static std::vector<AccessPoint> aps ;
|
||||
static std::vector<Mobile> mobiles ;
|
||||
static std::vector<Request> requests ;
|
||||
|
||||
static void set_up(void) ;
|
||||
static void tear_down(void) ;
|
||||
|
||||
static void fill_file(const std::string &output_file_name,
|
||||
const std::vector<std::string> output_lines) ;
|
||||
const std::vector<std::string> output_lines) ;
|
||||
static void remove_file(const std::string &file_name) ;
|
||||
|
||||
static std::vector<AccessPoint>
|
||||
create_test_csv_file(const std::string &file_name) ;
|
||||
static void create_test_csv_file(const std::string &file_name,
|
||||
bool with_spaces = false) ;
|
||||
} ;
|
||||
|
||||
#endif // _OWLPS_POSITIONING_TESTS_TESTUTIL_HH_
|
||||
|
|
Loading…
Reference in New Issue