public void TestGetRobotWithNoRobotThrowsException() { var boardService = new BoardService(new BoardPositionConverter(), new MockPositionValidator()); var robotService = new RobotService(boardService, new PositionValidator()); boardService.CreateNewBoard("test", 5, 5); Assert.Throws <RobotPlacedException>(() => robotService.GetRobot("test")); }
public void TestGetRobotWithPlacedRobot() { var boardService = new BoardService(new BoardPositionConverter(), new MockPositionValidator()); var robotService = new RobotService(boardService, new PositionValidator()); boardService.CreateNewBoard("test", 5, 5); robotService.PlaceRobot("test", new Vector2(1, 1), Direction.NORTH); var robot = robotService.GetRobot("test"); Assert.NotNull(robot); }
public void RotateRobotRightExpectSuccess() { var boardService = new BoardService(new BoardPositionConverter(), new MockPositionValidator()); var robotService = new RobotService(boardService, new PositionValidator()); boardService.CreateNewBoard("test", 5, 5); robotService.PlaceRobot("test", new Vector2(1, 1), Direction.NORTH); robotService.Rotate("test", RotateDirection.RIGHT); var robot = robotService.GetRobot("test"); Assert.Equal(Direction.EAST, robot.Direction); }
public void TestRobotMoveFromDirectionExpectSuccess(Direction startingDirection, int expectedX, int expectedY) { var boardService = new BoardService(new BoardPositionConverter(), new MockPositionValidator()); var robotService = new RobotService(boardService, new PositionValidator()); boardService.CreateNewBoard("test", 5, 5); robotService.PlaceRobot("test", new Vector2(1, 1), startingDirection); var moveResult = robotService.MoveForward("test"); Assert.True(moveResult); var newRobotPosition = robotService.GetRobot("test"); Assert.Equal(new Vector2(expectedX, expectedY), newRobotPosition.Position); }