You're part of a team that explores Mars by sending remotely controlled vehicles to the surface of the planet.
- Refactor the code to follow all the SOLID principles and add as many tests as possible. The minimum requirement is to cover all public methods.
- Please commit small refactors each time with a descriptive title.
- Complete the task between the first commit with initial and unmodified code and the last commit within a maximum of 4 hours.
- You are given the initial starting point (x, y) of a rover and the direction (N, S, E, W) it is facing.
- The rover receives a character array of commands.
- Implement commands that move the rover forward/backward (f, b).
- Implement commands that turn the rover left/right (l, r).