public void ItWorksForTwoWinnersTwoSecondPlayerAndOneLastPlace()
{
var playerRanks = new List<PlayerRank>();
var winningPlayerId1 = 100;
var winningPlayerId2 = 101;
var secondPlacePlayer1 = 200;
var secondPlacePlayer2 = 201;
var thirdPlacePlayerId = 300;
playerRanks.Add(new PlayerRank
{
GameRank = FIRST_PLACE,
PlayerId = winningPlayerId1
});
playerRanks.Add(new PlayerRank
{
GameRank = FIRST_PLACE,
PlayerId = winningPlayerId2
});
playerRanks.Add(new PlayerRank
{
GameRank = SECOND_PLACE,
PlayerId = secondPlacePlayer1
});
playerRanks.Add(new PlayerRank
{
GameRank = SECOND_PLACE,
PlayerId = secondPlacePlayer2
});
playerRanks.Add(new PlayerRank
{
GameRank = THIRD_PLACE,
PlayerId = thirdPlacePlayerId
});
var actualPointsAwarded = _autoMocker.ClassUnderTest.CalculatePoints(playerRanks, null);
var expectedFirstPlacePoints = 18;
var expectedSecondPlacePoints = 7;
var expectedThirdPlacePoints = 3;
Assert.That(actualPointsAwarded[winningPlayerId1].BasePoints, Is.EqualTo(expectedFirstPlacePoints));
Assert.That(actualPointsAwarded[winningPlayerId2].BasePoints, Is.EqualTo(expectedFirstPlacePoints));
Assert.That(actualPointsAwarded[secondPlacePlayer1].BasePoints, Is.EqualTo(expectedSecondPlacePoints));
Assert.That(actualPointsAwarded[secondPlacePlayer2].BasePoints, Is.EqualTo(expectedSecondPlacePoints));
Assert.That(actualPointsAwarded[thirdPlacePlayerId].BasePoints, Is.EqualTo(expectedThirdPlacePoints));
}