public GameServiceTests() { var cpuPlayer = new CPUPlayerFirstAvailableSpot(); var gameRepo = new GameRepositoryMemoryInstance(); var gameBuilder = new GameBuilder(); var moveValidationListMoq = new Moq.Mock <IMoveValidationList>(); moveValidationListMoq .Setup(m => m.IsValid) .Returns(true); var judge = new Judge(new EndGameChecker(), moveValidationListMoq.Object); sut = new GameService(gameRepo, judge, gameBuilder, cpuPlayer); }
public void MakeMove_FirstCellTaken_ShouldPut_O_InFirstRow2ndColumn() { // Arrange var sut = new CPUPlayerFirstAvailableSpot(); var board = new Board(3); board[0, 0] = Symbols.X; const int expectedRow = 0; const int expectedColumn = 1; // Act var cpuMove = sut.MakeMove(board, Symbols.O); // Assert Assert.Equal(expectedRow, cpuMove.Row); Assert.Equal(expectedColumn, cpuMove.Column); }