Commit Graph

14 Commits

Author SHA1 Message Date
Matteo Cypriani a5aa1af433 [Positioning] Add logging support
Add interface InputLogMedium and class InputLogCSV.

Input: Add logging support.

UserInterface: Add logging options.

Configuration:
- Rename functions (suppress "get_").
- Add functions to allow multiple values in one option (needed by
  logging options):
  - value_exists_in_string_vector()
  - string_vector_value()

InputCSV: Add a destructor.

posexcept.hh: Add no_log_csv_file exception.

TestUtil:
- Improve set_up().
- Add functions used in InputLogCSV_test:
  - functions to compare Request & Co,
  - functions to compare the sizes of two files.
2011-03-16 14:36:19 +01:00
Matteo Cypriani 8257e9e67d [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.
2011-03-16 14:36:19 +01:00
Matteo Cypriani dbd58f8178 [Positioning] TestUtil: Add create_test_csv_file() 2011-03-16 14:36:19 +01:00
Matteo Cypriani b6ab3c841d [Positioning] Use new exceptions in posexcept
Replace use of standard exceptions (std::out_of_range,
std::runtime_error) by new exceptions in posexcept.
2011-03-16 14:36:19 +01:00
Matteo Cypriani fc1ceb25c7 [Positioning] Add Input & posexcept.{hh,cc}
- Add files posexcept.{hh,cc} that contains exception classes.
- Add class Input, that handles InputMedium (and InputLogMedium, in the
  future). Note that for the moment, the unit test is *very* minimal.
- UserInterface: Add options for the input medium and the CSV file.
2011-03-16 14:36:19 +01:00
Matteo Cypriani 0ddef4c747 [Positioning] Add TestUtil, utilitary test class
Add the class TestUtil, that provides functions used in several unit
tests. For the moment, it contains two function:
- fill_file(), that creates and fills a test file.
- remove_file(), that deletes a test file.
2011-03-16 14:36:19 +01:00
Matteo Cypriani 9cf4daca3b [Positioning] Add Configuration and UserInterface
- Add class Configuration, a stock for the configuration structure.
- Add class UserInterface, that handles the configuration input.
- Update owlps-positioning.cc (delete old stuff like configuration) and
  delete owlps-positioning.hh: we now have a compilable executable.
2011-03-16 14:36:19 +01:00
Matteo Cypriani 12d14b805f [Positioning] Measurement: test avg. computation
This commit pass finally all unit tests without any warning!

Measurement:
- Finish unit test (test the average SS).
- Fix update_average_ss() and add_ss().
- average_ss is now double.
2011-03-16 14:36:19 +01:00
Matteo Cypriani a9a2331cfa [Positioning] Finish unit tests for Area & Point3D
Area:
- Unit test: test inversion of points.
- Add reorder_coordinates().
- Remove all set_{x,y,z}_{min,max}() accessors.
- Remove set_p_min() and set_p_max().
- Add set_coordinates().
- The constructor now takes 2 Point3D instead of 6 float coordinates.

Point3D:
- Unit test: finish to test distances, test new cast operator.
- Add a cast to string operator.

Unit tests:
- Add valuetraits.hh with class to display correctly a Point3D in a
  wrong assertion.
2011-03-16 14:36:19 +01:00
Matteo Cypriani b921263795 [Positioning] Add class Timestamp
Add a class Timestamp that boxes the structure timespec from <ctime>.
timespec manipulation functions are removed from PosUtil.
2011-03-16 14:36:19 +01:00
Matteo Cypriani 910d9a04d9 [Positioning] InputCSV: handle auto EOF & closing
InputCSV:
- Add eof_close() to automatically close the file when EOF is reached.
- Add read_next_line(), that read the next non-blank line and skips
  blank characters.
- Add current_line, a string containing the current line data.
- Update unit test.

InputMedium:
- Rename InputMedium::current_line to current_line_nb.
2011-03-16 14:36:19 +01:00
Matteo Cypriani ec10ed71a1 [Positioning] Add test for InputCSV
- Add unit test for InputCSV.
- Request: Add get_measurements().
- Stock:
  - Add clear().
  - Update tests to use it.
2011-03-16 14:36:19 +01:00
Matteo Cypriani bd28a26fa3 [Positioning] Add unit tests
Add tests for all (rewriten) classes, except for InputCSV.
2011-03-16 14:36:19 +01:00
Matteo Cypriani fb73ba03c1 [Positioning] Add README (CxxTest install how-to) 2011-03-16 14:36:18 +01:00