1 unstable release
0.1.0 | Aug 15, 2023 |
---|
#150 in Robotics
23KB
603 lines
rover-cli
A coding exercise in controlling a set of rovers on mars.
🛠 Installation
cargo install rover-cli
🔋 Usage
Print output to console:
rover-cli foo.txt
Save output to file:
rover-cli --output output.txt foo.txt
To see helpful information:
rover-cli --help
💭 Code Choices
--unbounded
command flag is included to allow to the rover to exit the plateau.isize
is used to represent co-ordinates to allow the rover to pass (0, 0).fs::read_to_string
is used for simplicity over the more performant but more complexBufReader
.RoverControlSatellite
is used for themeatic effect!
🔬 Testing
To run tests for the CLI:
cargo test
Testing Approach
Unit tests that cover basic functionality and possible branches are included, however as this is a coding exercise, 100% coverage has not been aimed for.
Generate Coverage Report
Setup
rustup component add llvm-tools-preview &&
cargo install cargo-llvm-cov
Usage
To create a coverage report:
cargo llvm-cov
To debug a coverage report:
cargo llvm-cov --html --output-dir coverage
Dependencies
~2–2.8MB
~52K SLoC