Testing would make our workflow a lot easier, especially when debugging.
We should eventually have a test suite composed of 3 test sub-suites:
Core Suite - The purpose of this suite is to ensure that all logic is correct. This suite should be several unit tests that are runnable on any device (as long as it has the necessary packages). The core suite should test at least the following:
pathfinding logic - no errors, and pathfinders produce some output
compass/GPS logic - make sure that the math transformations applied are producing the correct output.
Data Suite - The purpose of this suite is to ensure that the rover can correctly read all data. This suite should be runnable on the rover. The data suite should test at least the following:
Lidar data
GPS data
Compass data
Bridge Suite - The purpose of this suite is to ensure that all data is sent correctly between the rover and the client. This suite will probably require the RPI to have the server-side bridge running. This suite should test at least the following:
Bridge client can connect to bridge server
bridge client receives expected data (expected Lidar/GPS/Compass data)
Background
Testing would make our workflow a lot easier, especially when debugging.
We should eventually have a test suite composed of 3 test sub-suites:
What to do
Further suites can be added in later issues.