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 TestRobotExistsCheckExpectTrue() { 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.True(robotService.RobotExists("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 ReportAfterPlaceExpectSuccess() { 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 robotReport = robotService.ReportPosition("test"); Assert.Equal("X: 1 Y: 1 F: NORTH", robotReport); }
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); }