예제 #1
0
        public void Can_detect_draw(IBoardGrid boardGrid, WinState expectedWinState)
        {
            var actualWinState = boardGrid.GetWinState();

            Assert.False(boardGrid.HasWinner());
            Assert.Null(actualWinState.Winner);

            Assert.Equal(expectedWinState.Method, actualWinState.Method);
            Assert.Equal(expectedWinState.HasWinner, actualWinState.HasWinner);
            Assert.Equal(expectedWinState.Winner, actualWinState.Winner);
        }
예제 #2
0
        public void Can_detect_winner(string useCase, IBoardGrid boardGrid, WinState expectedWinState)
        {
            var actualWinState = boardGrid.GetWinState();

            Assert.True(boardGrid.HasWinner());
            Assert.NotNull(actualWinState.Winner);

            Assert.Equal(expectedWinState.Method, actualWinState.Method);
            Assert.Equal(expectedWinState.HasWinner, actualWinState.HasWinner);
            Assert.Equal(expectedWinState.Winner, actualWinState.Winner);
        }
예제 #3
0
 /// <inheritdocs/>
 public bool HasWinner()
 => _boardGrid.HasWinner();