public void Can_receive_a_move_command() { var loc = new Location(1.0m, 1.0m); var startingDir = 'N'; var grid = new Grid(3, 3); var rover = new Rover(grid, loc, startingDir); rover.ProcessCommand('b'); rover.location.latitude.ShouldEqual(0.0m); }
public void Can_move_from_any_direction() { var loc = new Location(1.0m, 1.0m); var grid = new Grid(3, 3); var rover1 = new Rover(grid, loc, 'S'); rover1.ProcessCommand('f'); rover1.location.latitude.ShouldEqual(0.0m); var rover2 = new Rover(grid, loc, 'W'); rover2.ProcessCommand('b'); rover2.location.longitude.ShouldEqual(2.0m); }
public void Grid_wraps_movement_when_outside_bounds() { var loc = new Location(3.0m, 3.0m); var grid = new Grid(3, 3); var rover = new Rover(grid, loc, 'N'); rover.ProcessCommand('f'); rover.location.latitude.ShouldEqual(0.0m); rover.location.longitude.ShouldEqual(3.0m); }
public void Can_receive_a_turn_command() { var loc = new Location(1.0m, 1.0m); var startingDir = 'N'; var grid = new Grid(3, 3); var rover = new Rover(grid, loc, startingDir); rover.ProcessCommand('r'); rover.direction.ShouldEqual('E'); }