public void TryMove_MoveInBounds_ReturnTrue_AssignCorrectCoords() { var plateau = new Plateau { BottomLeftCoordX = 0, BottomLeftCoordY = 0, TopRightCoordX = 5, TopRightCoordY = 5 }; var commands = new NavigationCommand[] { NavigationCommand.M, NavigationCommand.R, NavigationCommand.M, NavigationCommand.M, NavigationCommand.R }; var rover = new MarsRover(4, 5, App.Enums.Direction.W, plateau, commands); var result = rover.TryMove(NavigationCommand.M); Assert.AreEqual(rover.CoordX, 3); Assert.AreEqual(rover.CoordY, 5); Assert.AreEqual(rover.Direction, Direction.W); }
public void TryMove_Right_ReturnTrue_KeepOldCoords_ChangeDirection() { var plateau = new Plateau { BottomLeftCoordX = 0, BottomLeftCoordY = 0, TopRightCoordX = 5, TopRightCoordY = 5 }; var commands = new NavigationCommand[] { NavigationCommand.M, NavigationCommand.R, NavigationCommand.M, NavigationCommand.M, NavigationCommand.R }; var rover = new MarsRover(4, 5, App.Enums.Direction.N, plateau, commands); var result = rover.TryMove(NavigationCommand.R); Assert.AreEqual(rover.CoordX, 4); Assert.AreEqual(rover.CoordY, 5); Assert.AreEqual(rover.Direction, Direction.E); }