示例#1
0
        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"));
        }
示例#2
0
        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"));
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }
示例#5
0
        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);
        }
示例#6
0
        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);
        }
示例#7
0
        public void SaveBoardExpectUpdate()
        {
            var boardService = new BoardService(new BoardPositionConverter(), new MockPositionValidator());

            boardService.CreateNewBoard("test", 5, 5);
            var testBoard = boardService.GetBoard("test");

            testBoard.Name = "test2";
            boardService.SaveBoard(testBoard);
            var updatedBoard = boardService.GetBoard("test2");
            var oldBoard     = boardService.GetBoard("test");

            Assert.NotNull(updatedBoard);
            Assert.Null(oldBoard);
        }
示例#8
0
 public IActionResult CreateNewBoard([FromBody] Board board)
 {
     _boardService.CreateNewBoard(board, User.Identity.Name);
     return(Ok());
 }