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); }
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()); }
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()); }
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)); }
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)); }
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)); }
public int GetLossesOfPlayer(Player piPlayer) { int playerIndex = Players.IndexOf(piPlayer); if (playerIndex == 0) playerIndex = 1; else playerIndex = 0; return Score[playerIndex]; }
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)); }
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); }
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); }
public void Player_NameAlwaysUpperletter() { var player = new Player("asdjhasdj"); Assert.AreEqual("A", player.Name[0].ToString()); }
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); }
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); }
public Player GetOpponentOf(Player piPlayer) { foreach (Player player in Players) { if (player != piPlayer && ivPlayers.Contains(piPlayer)) return player; } return null; }
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]); }
public int GetWinsOfPlayer(Player piPlayer) { int playerIndex = Players.IndexOf(piPlayer); return Score[playerIndex]; }
private bool PlayerHasMatch(Player piPlayer) { return Matches.Any(match => match.Players.Contains(piPlayer)); }
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); }
public void AddMatch(Player piPlayer1, Player piPlayer2) { Matches.Add(new Match(piPlayer1, piPlayer2)); }