public void ItRecalculatesTheNemesisOfEveryPlayerInTheGame()
{
var playerOneId = 1;
var playerTwoId = 2;
var playerThreeId = 3;
var playerRanks = new List<PlayerRank>
{
new PlayerRank
{
PlayerId = playerOneId,
GameRank = 1
},
new PlayerRank
{
PlayerId = playerTwoId,
GameRank = 2
},
new PlayerRank
{
PlayerId = playerThreeId,
GameRank = 3
}
};
var newlyCompletedGame = new NewlyCompletedGame
{
GameDefinitionId = gameDefinition.Id,
PlayerRanks = playerRanks
};
autoMocker.Get<IPointsCalculator>()
.Expect(mock => mock.CalculatePoints(null, null))
.IgnoreArguments()
.Return(new Dictionary<int, PointsScorecard>
{
{playerOneId, new PointsScorecard()},
{playerTwoId, new PointsScorecard()},
{playerThreeId, new PointsScorecard()}
});
autoMocker.ClassUnderTest.CreatePlayedGame(newlyCompletedGame, TransactionSource.WebApplication, currentUser);
foreach (var playerRank in playerRanks)
{
autoMocker.Get<INemesisRecalculator>().AssertWasCalled(mock => mock.RecalculateNemesis(playerRank.PlayerId, currentUser));
}
}