MarsRover { public static String moveRobot(int height, int width, String startLocation, String instructions) { final String[] params = startLocation.split(" "); return location(params[0], params[1], params[2], instructions); }  static String moveRobot(int height, int width, String startLocation, String instructions);  }
@Test public void the_robot_should_not_move_when_instruction_is_empty() { assertThat(MarsRover.moveRobot(5, 5, "1 1 E", "")).isEqualTo("1 1 E"); }
@Test public void the_robot_should_move_one_cell_to_the_east() { assertThat(MarsRover.moveRobot(5, 5, "1 1 E", "M")).isEqualTo("2 1 E"); }
@Test public void the_robot_should_move_one_cell_to_the_west() { assertThat(MarsRover.moveRobot(5, 5, "1 1 W", "M")).isEqualTo("0 1 W"); }
@Test public void the_robot_should_move_one_cell_to_the_north() { assertThat(MarsRover.moveRobot(5, 5, "1 1 N", "M")).isEqualTo("1 2 N"); }
@Test public void the_robot_should_move_one_cell_to_the_south() { assertThat(MarsRover.moveRobot(5, 5, "1 1 S", "M")).isEqualTo("1 0 S"); }
@Test public void the_robot_will_rotate_from_the_north_to_east() { assertThat(MarsRover.moveRobot(5, 5, "1 1 N", "R")).isEqualTo("1 1 E"); }
@Test public void the_robot_will_rotate_from_the_east_to_south() { assertThat(MarsRover.moveRobot(5, 5, "1 1 E", "R")).isEqualTo("1 1 S"); }
@Test public void the_robot_will_rotate_from_the_south_to_west() { assertThat(MarsRover.moveRobot(5, 5, "1 1 S", "R")).isEqualTo("1 1 W"); }
@Test public void the_robot_will_rotate_from_the_north_to_west() { assertThat(MarsRover.moveRobot(5, 5, "1 1 N", "L")).isEqualTo("1 1 W"); }
@Test public void the_robot_will_rotate_from_the_west_to_south() { assertThat(MarsRover.moveRobot(5, 5, "1 1 W", "L")).isEqualTo("1 1 S"); }
@Test public void the_robot_will_rotate_from_the_south_to_east() { assertThat(MarsRover.moveRobot(5, 5, "1 1 S", "L")).isEqualTo("1 1 E"); }
@Test public void the_robot_will_rotate_from_the_east_to_north() { assertThat(MarsRover.moveRobot(5, 5, "1 1 E", "L")).isEqualTo("1 1 N"); }
@Test public void the_robot_will_rotate_from_the_west_to_north() { assertThat(MarsRover.moveRobot(5, 5, "1 1 W", "R")).isEqualTo("1 1 N"); }
@Test public void the_robot_will_rotate_north_then_move() { assertThat(MarsRover.moveRobot(5, 5, "1 1 W", "RM")).isEqualTo("1 2 N"); }
@Test public void the_robot_will_move_then_rotate_north() { assertThat(MarsRover.moveRobot(5, 5, "1 1 W", "MR")).isEqualTo("0 1 N"); }
@Test public void acceptance_test_case1() { assertThat(MarsRover.moveRobot(5, 5, "1 2 N", "LMLMLMLMM")).isEqualTo("1 3 N"); }
@Test public void acceptance_test_case2() { assertThat(MarsRover.moveRobot(5, 5, "3 3 E", "MMRMMRMRRM")).isEqualTo("5 1 E"); }