Пример #1
0
        public void BeTheSameAsOtherGame_GivenBothHaveNotStarted()
        {
            var game      = new TicTakToeGame();
            var otherGame = new TicTakToeGame();

            game.Should().Be(otherGame);
        }
Пример #2
0
        public void BeInPlay()
        {
            var game = new TicTakToeGame();

            var gameStatus = game.GetStatus();

            gameStatus.Should().Be(GameStatus.InPlay);
        }
Пример #3
0
        public void NotBeTheSameAsOtherGame_GivenOneHasBeenPlayed()
        {
            var game      = new TicTakToeGame();
            var otherGame = new TicTakToeGame();

            otherGame.PlayX(RowColumn.TopLeft);

            game.Should().NotBe(otherGame);
        }
Пример #4
0
        public void NotBeTheSameAsOtherGame_GivenDifferentPlays()
        {
            var otherGame = new TicTakToeGame();
            var game      = new TicTakToeGame();

            game.PlayX(RowColumn.TopLeft);
            game.PlayX(RowColumn.TopMiddle);

            game.Should().NotBe(otherGame);
        }
Пример #5
0
        public void BottomHorizontalWinning()
        {
            var game = new TicTakToeGame();

            game.PlayX(RowColumn.BottomLeft);
            game.PlayY(RowColumn.CenterLeft);
            game.PlayX(RowColumn.BottomMiddle);
            game.PlayY(RowColumn.CenterRight);
            game.PlayX(RowColumn.BottomRight);

            var gameStatus = game.GetStatus();

            gameStatus.Should().Be(GameStatus.XWins);
        }
Пример #6
0
        public void ConsiderHorizontalWinningX()
        {
            var game = new TicTakToeGame();

            game.PlayX(RowColumn.TopLeft);
            game.PlayY(RowColumn.BottomLeft);
            game.PlayX(RowColumn.TopMiddle);
            game.PlayY(RowColumn.BottomRight);
            game.PlayX(RowColumn.TopRight);

            var gameStatus = game.GetStatus();

            gameStatus.Should().Be(GameStatus.XWins);
        }
Пример #7
0
        public void ConsiderAnotherDiagonalWinningX()
        {
            var game = new TicTakToeGame();

            game.PlayX(RowColumn.TopRight);
            game.PlayY(RowColumn.CenterLeft);
            game.PlayX(RowColumn.CenterMiddle);
            game.PlayY(RowColumn.BottomMiddle);
            game.PlayX(RowColumn.BottomLeft);

            var gameStatus = game.GetStatus();

            gameStatus.Should().Be(GameStatus.XWins);
        }
Пример #8
0
        public void ConsiderVerticalWinningY()
        {
            var game = new TicTakToeGame();

            game.PlayX(RowColumn.BottomRight);
            game.PlayY(RowColumn.TopLeft);
            game.PlayX(RowColumn.CenterMiddle);
            game.PlayY(RowColumn.CenterLeft);
            game.PlayX(RowColumn.CenterRight);
            game.PlayY(RowColumn.BottomLeft);

            var gameStatus = game.GetStatus();

            gameStatus.Should().Be(GameStatus.YWins);
        }
Пример #9
0
        public void BecomeADrawWhenAllPositionsFilled()
        {
            var game = new TicTakToeGame();

            game.PlayX(RowColumn.TopLeft);
            game.PlayY(RowColumn.TopMiddle);
            game.PlayX(RowColumn.TopRight);
            game.PlayY(RowColumn.CenterMiddle);
            game.PlayX(RowColumn.BottomMiddle);
            game.PlayY(RowColumn.CenterLeft);
            game.PlayX(RowColumn.BottomLeft);
            game.PlayY(RowColumn.BottomRight);
            game.PlayX(RowColumn.CenterRight);

            var gameStatus = game.GetStatus();

            gameStatus.Should().Be(GameStatus.Draw);
        }
Пример #10
0
 protected bool Equals(TicTakToeGame other)
 {
     return(Equals(_board, other._board));
 }