コード例 #1
0
            public void ShouldNotIncrementTheScoreWhenThereIsADraw()
            {
                Action <GameFinishedArgs> gameFinished = null;
                Team    actualWinningTeam = Team.None;
                LineWin actualLineWin     = LineWin.None;

                mockBoard.SetupSet <Action <GameFinishedArgs> >(x => x.GameFinished = It.IsAny <Action <GameFinishedArgs> >())
                .Callback((x) =>
                {
                    gameFinished = x;
                });
                ITicTacToeGame subject = fixture.Create <TicTacToeGame>();

                subject.TeamAndLineWon += (ValueTuple <Team, LineWin> arg) =>
                {
                    actualWinningTeam = arg.Item1;
                    actualLineWin     = arg.Item2;
                };
                subject.IsGameOver.Should().BeFalse();

                gameFinished?.Invoke(new GameFinishedArgs(GameResult.Draw, null, LineWin.None));

                subject.Scores[mockBoard.Object.PlayerOne.Team].Should().Be(0);
                subject.Scores[mockBoard.Object.PlayerTwo.Team].Should().Be(0);
                actualWinningTeam.Should().Be(Team.None);
                actualLineWin.Should().Be(LineWin.None);
            }
コード例 #2
0
    public void AddWins(int SymbolValue, LineWin WinningLine)
    {
        int AmountWon = SymbolValue + 1;

        SessionValues.WinningLines.Add(WinningLine);
        SessionValues.TotalAmountWon += AmountWon * SessionValues.TotalBet; //Needs to be multiplied with Player bet
    }
コード例 #3
0
            public void ShouldShowWhichTeamAndLineWonAndThatTheGameIsOver()
            {
                Action <GameFinishedArgs> gameFinished = null;
                Team    actualWinningTeam = Team.None;
                LineWin actualLineWin     = LineWin.None;

#pragma warning disable CS0618
                mockBoard.SetupSet(x => x.GameFinished).Callback((x) =>
#pragma warning restore CS0618
                {
                    gameFinished = x;
                });
                ITicTacToeGame subject = fixture.Create <TicTacToeGame>();
                subject.TeamAndLineWon += (ValueTuple <Team, LineWin> arg) =>
                {
                    actualWinningTeam = arg.Item1;
                    actualLineWin     = arg.Item2;
                };
                subject.IsGameOver.Should().BeFalse();

                gameFinished?.Invoke(new GameFinishedArgs(GameResult.Win, mockBoard.Object.PlayerOne, LineWin.MiddleHorizontal));

                actualWinningTeam.Should().Be(mockBoard.Object.PlayerOne.Team);
                actualLineWin.Should().Be(LineWin.MiddleHorizontal);
                subject.IsGameOver.Should().BeTrue();
            }
コード例 #4
0
 public GameFinishedArgs(
     GameResult result,
     IPlayer winner  = null,
     LineWin lineWin = LineWin.None)
     : base()
 {
     LineWin = lineWin;
     Result  = result;
     Winner  = winner;
 }
コード例 #5
0
            public void ShouldShowWhichLineWon()
            {
                Action <GameFinishedArgs> gameFinished = null;
                Team    actualWinningTeam = Team.None;
                LineWin actualLineWin     = LineWin.None;

                mockBoard.SetupSet <Action <GameFinishedArgs> >(x => x.GameFinished = It.IsAny <Action <GameFinishedArgs> >())
                .Callback((x) =>
                {
                    gameFinished = x;
                });
                ITicTacToeGame subject = fixture.Create <TicTacToeGame>();

                subject.TeamAndLineWon += (ValueTuple <Team, LineWin> arg) =>
                {
                    actualWinningTeam = arg.Item1;
                    actualLineWin     = arg.Item2;
                };

                gameFinished?.Invoke(new GameFinishedArgs(GameResult.Win, mockBoard.Object.PlayerOne, LineWin.MiddleHorizontal));

                actualLineWin.Should().Be(LineWin.MiddleHorizontal);
            }