Ejemplo n.º 1
0
        public void AllocateGamePoints_Draw_BothPlayersGet1Point()
        {
            // arrange
            var player1 = Substitute.For <IPlayer>();
            var player2 = Substitute.For <IPlayer>();

            var players = new List <IPlayer> {
                player1,
                player2
            };

            var tournament = new Tournament(players);

            var game = new TestableGame(player1, player2);

            game.SetResult(GameStatus.Draw);

            // act
            tournament.AllocateGamePoints(game);

            // assert
            var expectedTournStatsP1 = new TournamentStats {
                GamesPlayed      = 1,
                GamesWon         = 0,
                GamesDrawn       = 1,
                GamesLost        = 0,
                GamePoints       = 1,
                TournamentPoints = 0
            };

            var expectedTournStatsP2 = new TournamentStats {
                GamesPlayed      = 1,
                GamesWon         = 0,
                GamesDrawn       = 1,
                GamesLost        = 0,
                GamePoints       = 1,
                TournamentPoints = 0
            };

            Assert.That(tournament.TournamentTable[player1].ToString(), Is.EqualTo(expectedTournStatsP1.ToString()));
            Assert.That(tournament.TournamentTable[player2].ToString(), Is.EqualTo(expectedTournStatsP2.ToString()));
        }