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); }
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); }
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()); }
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(); }
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(); }
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); }
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); }
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(); }