Esempio n. 1
0
 public static void SetPlayerTieBreakers(Player player, List<Match> matches)
 {
     player.Points = GetPlayerPoints(player, matches);
     player.OpponentWinPercent = GetPlayerOpponentWinPercent(player, matches);
     player.GameWinPercent = GetPlayerGameWinPercent(player, matches);
     player.OpponentGameWinPercent = GetOpponentsGameWinPercent(player, matches);
 }
Esempio n. 2
0
        public void RegisterScore_GetWinningPlayer()
        {
            var player1 = new Player("dsa");
            var player2 = new Player("dsaasda");

            var match = new Match(player1, player2);
            match.RegisterScore(1, 2);

            Assert.AreEqual(player2, match.GetWinningPlayer());
        }
Esempio n. 3
0
        public void IsDraw_UnEqualScore_false()
        {
            var player1 = new Player("dsa");
            var player2 = new Player("dsaasda");

            var match = new Match(player1, player2);
            match.RegisterScore(1, 2);

            Assert.IsFalse(match.IsDraw());
        }
Esempio n. 4
0
        public void GetOpponentOf_InputIsNotInMatch_Null()
        {
            var player1 = new Player("dsa");
            var player2 = new Player("dsaasda");
            var player3 = new Player("dsaasdaadsa");

            var match = new Match(player1, player2);

            Assert.IsNull(match.GetOpponentOf(player3));
        }
Esempio n. 5
0
        public void GetOpponentOf_GivesOtherPlayer()
        {
            var player1 = new Player("dsa");
            var player2 = new Player("dsaasda");

            var match = new Match(player1, player2);

            Assert.AreEqual(player1, match.GetOpponentOf(player2));
            Assert.AreEqual(player2, match.GetOpponentOf(player1));
        }
Esempio n. 6
0
        public void RegisterScore_LossesOfPlayer()
        {
            var player1 = new Player("dsa");
            var player2 = new Player("dsaasda");

            var match = new Match(player1, player2);
            match.RegisterScore(1, 2);

            Assert.AreEqual(2, match.GetLossesOfPlayer(player1));
            Assert.AreEqual(1, match.GetLossesOfPlayer(player2));
        }
Esempio n. 7
0
        public int GetLossesOfPlayer(Player piPlayer)
        {
            int playerIndex = Players.IndexOf(piPlayer);

            if (playerIndex == 0)
                playerIndex = 1;
            else
                playerIndex = 0;

            return Score[playerIndex];
        }
Esempio n. 8
0
        public static List<Player> GetPlayersSortedSpecifiedFirst(List<Player> piPlayers, Player piFirstPlayer)
        {
            var result = new List<Player>();
            result.Add(piFirstPlayer);

            foreach (Player player in piPlayers)
            {
                if (!result.Contains(player))
                    result.Add(player);
            }

            return SetByeToLastPlayer(result);
        }
        public void GetPlayerPoints_1Win_3Points()
        {
            var player1 = new Player("dsa");
            var player2 = new Player("dsaasda");
            var player3 = new Player("dsa");
            var player4 = new Player("dsaasda");
            var player5 = new Player("dsa");
            var player6 = new Player("dsaasda");

            var matches = new List<Match>();

            var match = new Match(player1, player2);
            match.RegisterScore(2, 0);
            matches.Add(match);

            Assert.AreEqual(3, PairingUtility.GetPlayerPoints(player1, matches));
        }
Esempio n. 10
0
        public static float GetPlayerOpponentWinPercent(Player piPlayer, List<Match> piMatches)
        {
            var playersMatches = piMatches.Where(p => p.Players.Contains(piPlayer));
            float wins = 0;
            float losses = 0;

            foreach (Match match in playersMatches)
            {
                Player opponent = match.GetOpponentOf(piPlayer);
                var opponentsMatches = piMatches.Where(p => p.Players.Contains(opponent));

                foreach (Match opponentMatch in opponentsMatches)
                {
                    wins += opponentMatch.GetWinsOfPlayer(opponent);
                    losses += opponentMatch.GetLossesOfPlayer(opponent);
                }
            }

            return wins / (wins + losses);
        }
Esempio n. 11
0
        public static int GetPlayerPoints(Player piPlayer, List<Match> piMatches)
        {
            int wins = 0;
            int draws = 0;
            var playersMatches = piMatches.Where(p => p.Players.Contains(piPlayer));

            foreach (Match match in playersMatches)
            {
                if (match.IsDraw())
                {
                    draws++;
                    continue;
                }

                Player player = match.GetWinningPlayer();

                if (Equals(player, piPlayer))
                    wins++;
            }

            return (wins * 3) + (draws * 1);
        }
Esempio n. 12
0
        public void Player_NameAlwaysUpperletter()
        {
            var player = new Player("asdjhasdj");

            Assert.AreEqual("A", player.Name[0].ToString());
        }
Esempio n. 13
0
        public void RegisterScore_RegisteredIsTrue()
        {
            var player1 = new Player("dsa");
            var player2 = new Player("dsaasda");

            var match = new Match(player1, player2);
            match.RegisterScore(1, 2);

            Assert.IsTrue(match.Reported);
        }
Esempio n. 14
0
        private static float GetPlayerGameWinPercent(Player player, List<Match> matches)
        {
            float wins = 0;
            float losses = 0;
            var playersMatches = matches.Where(p => p.Players.Contains(player));

            foreach (Match match in playersMatches)
            {
                wins += match.GetWinsOfPlayer(player);
                losses += match.GetLossesOfPlayer(player);
            }

            return wins / (wins + losses);
        }
Esempio n. 15
0
        public Player GetOpponentOf(Player piPlayer)
        {
            foreach (Player player in Players)
            {
                if (player != piPlayer && ivPlayers.Contains(piPlayer))
                    return player;
            }

            return null;
        }
Esempio n. 16
0
        public void RegisterScore_ScoreUpdated()
        {
            var player1 = new Player("dsa");
            var player2 = new Player("dsaasda");

            var match = new Match(player1, player2);
            match.RegisterScore(1, 2);

            Assert.AreEqual(1, match.Score[0]);
            Assert.AreEqual(2, match.Score[1]);
        }
Esempio n. 17
0
        public int GetWinsOfPlayer(Player piPlayer)
        {
            int playerIndex = Players.IndexOf(piPlayer);

            return Score[playerIndex];
        }
Esempio n. 18
0
 private bool PlayerHasMatch(Player piPlayer)
 {
     return Matches.Any(match => match.Players.Contains(piPlayer));
 }
Esempio n. 19
0
        private static float GetOpponentsGameWinPercent(Player player, List<Match> matches)
        {
            var playersMatches = matches.Where(p => p.Players.Contains(player));
            float wins = 0;
            float losses = 0;

            foreach (Match match in playersMatches)
            {
                Player opponent = match.GetOpponentOf(player);
                var opponentsMatches = matches.Where(p => p.Players.Contains(opponent));

                foreach (Match opponentMatch in opponentsMatches)
                {
                    if (opponentMatch.GetWinningPlayer() == opponent)
                        wins++;
                    else
                        losses++;
                }
            }

            return wins / (wins + losses);
        }
Esempio n. 20
0
 public void AddMatch(Player piPlayer1, Player piPlayer2)
 {
     Matches.Add(new Match(piPlayer1, piPlayer2));
 }