public void AllocateTournamentPoints_ElevenPlayers_Get22PointsFor1st() { // arrange var player1 = Substitute.For <IPlayer>(); var player2 = Substitute.For <IPlayer>(); var player3 = Substitute.For <IPlayer>(); var player4 = Substitute.For <IPlayer>(); var player5 = Substitute.For <IPlayer>(); var player6 = Substitute.For <IPlayer>(); var player7 = Substitute.For <IPlayer>(); var player8 = Substitute.For <IPlayer>(); var player9 = Substitute.For <IPlayer>(); var player10 = Substitute.For <IPlayer>(); var player11 = Substitute.For <IPlayer>(); var players = new List <IPlayer> { player1, player2, player3, player4, player5, player6, player7, player8, player9, player10, player11 }; var tournament = new Tournament(players); tournament.TournamentTable[player1].GamePoints = 3; tournament.TournamentTable[player2].GamePoints = 2; tournament.TournamentTable[player3].GamePoints = 1; tournament.TournamentTable[player4].GamePoints = 5; tournament.TournamentTable[player5].GamePoints = 4; tournament.TournamentTable[player6].GamePoints = 8; tournament.TournamentTable[player7].GamePoints = 5; tournament.TournamentTable[player8].GamePoints = 7; tournament.TournamentTable[player9].GamePoints = 14; tournament.TournamentTable[player10].GamePoints = 10; tournament.TournamentTable[player11].GamePoints = 15; // act tournament.AllocateTournamentPoints(); // assert Assert.That(tournament.TournamentTable[player1].TournamentPoints, Is.EqualTo(6)); Assert.That(tournament.TournamentTable[player2].TournamentPoints, Is.EqualTo(4)); Assert.That(tournament.TournamentTable[player3].TournamentPoints, Is.EqualTo(2)); Assert.That(tournament.TournamentTable[player4].TournamentPoints, Is.EqualTo(12)); Assert.That(tournament.TournamentTable[player5].TournamentPoints, Is.EqualTo(8)); Assert.That(tournament.TournamentTable[player6].TournamentPoints, Is.EqualTo(16)); Assert.That(tournament.TournamentTable[player7].TournamentPoints, Is.EqualTo(12)); Assert.That(tournament.TournamentTable[player8].TournamentPoints, Is.EqualTo(14)); Assert.That(tournament.TournamentTable[player9].TournamentPoints, Is.EqualTo(20)); Assert.That(tournament.TournamentTable[player10].TournamentPoints, Is.EqualTo(18)); Assert.That(tournament.TournamentTable[player11].TournamentPoints, Is.EqualTo(22)); }
public void AllocateTournamentPoints_ThreePlayers_Get6PointsFor1st4PointsFor2nd2PointsFor3rd() { // arrange var player1 = Substitute.For <IPlayer>(); var player2 = Substitute.For <IPlayer>(); var player3 = Substitute.For <IPlayer>(); var players = new List <IPlayer> { player1, player2, player3 }; var tournament = new Tournament(players); tournament.TournamentTable[player1].GamePoints = 5; tournament.TournamentTable[player2].GamePoints = 7; tournament.TournamentTable[player3].GamePoints = 8; // act tournament.AllocateTournamentPoints(); // assert Assert.That(tournament.TournamentTable[player1].TournamentPoints, Is.EqualTo(2)); Assert.That(tournament.TournamentTable[player2].TournamentPoints, Is.EqualTo(4)); Assert.That(tournament.TournamentTable[player3].TournamentPoints, Is.EqualTo(6)); }
public void AllocateTournamentPoints_TwoPlayersWithEqualGamePoints_1stGet6PointsEach2ndGets2Points() { // arrange var player1 = Substitute.For <IPlayer>(); var player2 = Substitute.For <IPlayer>(); var player3 = Substitute.For <IPlayer>(); var players = new List <IPlayer> { player1, player2, player3 }; var tournament = new Tournament(players); tournament.TournamentTable[player1].GamePoints = 8; tournament.TournamentTable[player2].GamePoints = 4; tournament.TournamentTable[player3].GamePoints = 8; // act tournament.AllocateTournamentPoints(); // assert Assert.That(tournament.TournamentTable[player1].TournamentPoints, Is.EqualTo(6)); Assert.That(tournament.TournamentTable[player2].TournamentPoints, Is.EqualTo(2)); Assert.That(tournament.TournamentTable[player3].TournamentPoints, Is.EqualTo(6)); }
public void RankPlayers_FivePlayers_ListInDecendingOrderByGamePoints() { // arrange var player1 = Substitute.For <IPlayer>(); var player2 = Substitute.For <IPlayer>(); var player3 = Substitute.For <IPlayer>(); var player4 = Substitute.For <IPlayer>(); var player5 = Substitute.For <IPlayer>(); var players = new List <IPlayer> { player1, player2, player3, player4, player5 }; var tournament = new Tournament(players); tournament.TournamentTable[player1].GamePoints = 5; tournament.TournamentTable[player2].GamePoints = 6; tournament.TournamentTable[player3].GamePoints = 10; tournament.TournamentTable[player4].GamePoints = 10; tournament.TournamentTable[player5].GamePoints = 2; tournament.AllocateTournamentPoints(); // act var resultList = tournament.RankPlayers(); // assert Assert.That(resultList[0].Key, Is.EqualTo(player3)); Assert.That(resultList[0].Value.TournamentPoints, Is.EqualTo(10)); Assert.That(resultList[1].Key, Is.EqualTo(player4)); Assert.That(resultList[1].Value.TournamentPoints, Is.EqualTo(10)); Assert.That(resultList[2].Key, Is.EqualTo(player2)); Assert.That(resultList[2].Value.TournamentPoints, Is.EqualTo(6)); Assert.That(resultList[3].Key, Is.EqualTo(player1)); Assert.That(resultList[3].Value.TournamentPoints, Is.EqualTo(4)); Assert.That(resultList[4].Key, Is.EqualTo(player5)); Assert.That(resultList[4].Value.TournamentPoints, Is.EqualTo(2)); }
public void AllocateTournamentPoints_TwoPlayers_Get4PointsFor1stPlace2PointsFor2nd() { // arrange var player1 = Substitute.For <IPlayer>(); var player2 = Substitute.For <IPlayer>(); var players = new List <IPlayer> { player1, player2 }; var tournament = new Tournament(players); tournament.TournamentTable[player1].GamePoints = 3; tournament.TournamentTable[player2].GamePoints = 9; // act tournament.AllocateTournamentPoints(); // assert Assert.That(tournament.TournamentTable[player1].TournamentPoints, Is.EqualTo(2)); Assert.That(tournament.TournamentTable[player2].TournamentPoints, Is.EqualTo(4)); }
public void AllocateTournamentPoints_EqualGamePoints_ShouldGet4PointsEach() { // arrange var player1 = Substitute.For <IPlayer>(); var player2 = Substitute.For <IPlayer>(); var players = new List <IPlayer> { player1, player2 }; var tournament = new Tournament(players); tournament.TournamentTable[player1].GamePoints = 6; tournament.TournamentTable[player2].GamePoints = 6; // act tournament.AllocateTournamentPoints(); // assert Assert.That(tournament.TournamentTable[player1].TournamentPoints, Is.EqualTo(4)); Assert.That(tournament.TournamentTable[player2].TournamentPoints, Is.EqualTo(4)); }