Exemple #1
0
        public void Initialize_VerifyGenerateTilesWithCoordinatesCalled()
        {
            const int SIZE  = 29;
            var       tiles = new List <ITile> {
                new MockTile()
            };
            var boardService = new MockBoardService().GenerateTilesWithCoordinatesReturns(tiles);
            var board        = BuildBoard(SIZE, boardService);

            Assert.Equal(board, tiles);
            boardService.VerifyGenerateTilesWithCoordinates(SIZE);
        }
Exemple #2
0
        public void Count_NumberOfTiles()
        {
            var tiles = new List <ITile> {
                new MockTile(),
                new MockTile(),
                new MockTile()
            };
            var boardService = new MockBoardService().GenerateTilesWithCoordinatesReturns(tiles);
            var board        = BuildBoard(boardService: boardService);

            var count = board.Count;

            Assert.Equal(3, count);
        }
Exemple #3
0
        public void Test_GameService_NewState_Given_Live_Neighbours_3_ReturnAlive()
        {
            var currentCell      = new Cell(State.Alive);
            int aliveNeighbours  = 3;
            var boardMockService = new MockBoardService().MockSetupGameBoardWithValues(10);

            var gameService = new GameService(boardMockService.Object);

            var actualState = gameService.GetNewState(currentCell, aliveNeighbours);

            Assert.Equal(State.Alive, actualState);

            boardMockService.VerifyGameBoardWithValues(Times.Never());
        }
Exemple #4
0
        public void GetTile_ByCoordinate_ReturnsTile()
        {
            var coordinate = new MockCoordinate();
            var tile       = new MockTile().CoordinateReturns(coordinate);
            var tiles      = new List <ITile> {
                new MockTile().CoordinateReturns(new MockCoordinate()),
                tile,
                new MockTile().CoordinateReturns(new MockCoordinate())
            };
            var boardService = new MockBoardService().GenerateTilesWithCoordinatesReturns(tiles);
            var board        = BuildBoard(boardService: boardService);

            var actual = board.GetTileBy(coordinate);

            Assert.Equal(tile, actual);
            tile.VerifyCoordinateCalled();
        }
Exemple #5
0
        public void GetTile_ByPosition_ReturnsTile()
        {
            const int POSITION = 7;
            var       tile     = new MockTile().PositionReturns(POSITION);
            var       tiles    = new List <ITile> {
                tile,
                new MockTile().CoordinateReturns(new MockCoordinate()),
                new MockTile().CoordinateReturns(new MockCoordinate())
            };
            var boardService = new MockBoardService().GenerateTilesWithCoordinatesReturns(tiles);
            var board        = BuildBoard(boardService: boardService);

            var actual = board.GetTileBy(POSITION);

            Assert.Equal(tile, actual);
            tile.VerifyPositionCalled();
        }
Exemple #6
0
        public void GetTile_ByPosition_ReturnsNewBoardWithUpdatedTile()
        {
            const int POSITION = 7;
            var       player   = new MockPlayer();
            var       newTile  = new MockTile().PositionReturns(POSITION).PlayerReturns(player);
            var       tile     = new MockTile().PositionReturns(POSITION).SetPlayerReturns(newTile);
            var       tiles    = new List <ITile> {
                new MockTile().PositionReturns(5),
                new MockTile().PositionReturns(2),
                tile
            };
            var boardService = new MockBoardService().GenerateTilesWithCoordinatesReturns(tiles);
            var board        = BuildBoard(boardService: boardService);

            var newBoard = board.ReserveTileBy(POSITION, player);

            Assert.NotEqual(board, newBoard);
            tile.VerifySetPlayerCalled(player);
        }
Exemple #7
0
        public void SetTile_ByCoordinate_ReturnsNewBoardWithUpdatedTile()
        {
            var player     = new MockPlayer();
            var coordinate = new MockCoordinate();
            var newTile    = new MockTile().PlayerReturns(player);
            var tile       = new MockTile().CoordinateReturns(coordinate).SetPlayerReturns(newTile);
            var tiles      = new List <ITile> {
                new MockTile().CoordinateReturns(new MockCoordinate()),
                new MockTile().CoordinateReturns(new MockCoordinate()),
                tile
            };
            var boardService = new MockBoardService().GenerateTilesWithCoordinatesReturns(tiles);
            var board        = BuildBoard(boardService: boardService);

            var newBoard = board.ReserveTileBy(coordinate, player);

            Assert.NotEqual(board, newBoard);
            tile.VerifySetPlayerCalled(player);
        }
Exemple #8
0
        public void GetTile_ByXY_ReturnsTile()
        {
            const int X          = 3;
            const int Y          = 2;
            var       coordinate = new MockCoordinate().XReturns(X).YReturns(Y);
            var       tile       = new MockTile().CoordinateReturns(coordinate);
            var       tiles      = new List <ITile> {
                new MockTile().CoordinateReturns(new MockCoordinate()),
                new MockTile().CoordinateReturns(new MockCoordinate()),
                tile
            };
            var boardService = new MockBoardService().GenerateTilesWithCoordinatesReturns(tiles);
            var board        = BuildBoard(boardService: boardService);

            var actual = board.GetTileBy(X, Y);

            Assert.Equal(tile, actual);
            tile.VerifyCoordinateCalled(2);
            coordinate.VerifyXCalled();
            coordinate.VerifyYCalled();
        }