public void TestRobotMoveOffEdgeExpectFalse() { 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, 4), Direction.NORTH); Assert.Throws <RobotOutOfBoundsException>(() => robotService.MoveForward("test")); }
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); }