public void TestRoverEncountersObstacle()
 {
     var planetWithObstacles = new Planet(50, new [] { new Point { X = 3, Y = 3} } );
     var rover = new Rover(new Point(3, 2), 'N', planetWithObstacles);
     var driver = new RoverDriver(rover);
     Assert.That(driver.MoveRover("ffrff"), Is.EqualTo("Rover encountered obstacle at position (3,3), rover stopped at (3,2)."));
 }
 public void TestRoverEncountersObstacleOnOtherSideOfXAxis()
 {
     var planetWithObstacles = new Planet(50, new[] { new Point { X = 0, Y = -25 } });
     var rover = new Rover(new Point(0, 25), 'N', planetWithObstacles);
     var driver = new RoverDriver(rover);
     Assert.That(driver.MoveRover("ffrff"), Is.EqualTo("Rover encountered obstacle at position (0,-25), rover stopped at (0,25)."));
 }
 public void TestRoverWrapsAroundAxis()
 {
     var rover = new Rover(new Point(0, 50), 'N', planet);
     var driver = new RoverDriver(rover);
     Assert.That(driver.MoveRover("ffrff"), Is.EqualTo("Rover was successfully moved to (2,-49)."));
 }
 public void TestRoverWithUndefinedCommand()
 {
     var rover = new Rover(new Point(0, 50), 'N', planet);
     var driver = new RoverDriver(rover);
     Assert.That(driver.MoveRover("fzrff"), Is.EqualTo("Error, 'z' is an undefined command."));
 }
 public void TestMoveRoverWithCommands()
 {
     var rover = new Rover(new Point(0, 0), 'N', planet);
     var driver = new RoverDriver(rover);
     Assert.That(driver.MoveRover("ffrff"), Is.EqualTo("Rover was successfully moved to (2,2)."));
 }