public void VerifyDirectionsOnRight(DirectionEnum iniitialDirection, DirectionEnum expectedDirection) { var robot = new RobotProject.Robot(); robot.PlaceAt(new RobotPosition { X = 0, Y = 0, Direction = iniitialDirection }); robot.Right(); var position = robot.Report(); Assert.AreEqual(position.Direction, expectedDirection); }
public void WhenRobotMoves_RobotIsAtCorrectPosition(DirectionEnum initalDirection, int x, int y, int newX, int newY) { var mdMock = new Mock <IMessageDisplayer>(); var messageDisplayer = mdMock.Object; var board = new Board(5, 5); var robot = new RobotProject.Robot(); var game = new RobotGame(board, robot, messageDisplayer); game.ProcessCommand($"PLACE {x} {y} {DirectionEnum.North.ToString().ToUpper()}"); game.ProcessCommand($"MOVE"); game.ProcessCommand($"REPORT"); mdMock.Verify(m => m.DisplayMessage($"Output: {newX}, {newY}, { initalDirection.ToString()}"), Times.AtMostOnce()); }
public void VerifyDirectionsOnLeft(DirectionEnum iniitialDirection, DirectionEnum expectedDirection) { var robot = new RobotProject.Robot(); robot.PlaceAt(new RobotPosition { X = 0, Y = 0, Direction = iniitialDirection }); robot.Left(); var position = robot.Report(); Console.WriteLine($"{position.Direction} - {expectedDirection}"); Assert.AreEqual(expectedDirection, position.Direction); }