public void GetLastEntryOfEachDay_WhenCalled_ShouldOnlyReturnLastPlotOfEachDay() { // Arrange var cut = new PlayerRankLogic( new PlayerRankHistoryRepository(GetOptionsWrapper())); var list = new List <PlayerRankSeasonEntry>(); var entry1 = CreateEntries("player1", 1, (1, 1520), (1, 1540), (1, 1560), (2, 1580), (2, 1560), (3, 1540), (3, 1520)); var entry2 = CreateEntries("player2", 1, (1, 1480), (2, 1460), (2, 1440), (4, 1420), (4, 1400), (5, 1380), (7, 1400)); list.Add(entry1); list.Add(entry2); // Act var result = cut.GetLastEntryOfEachDay(list); // Assert var player1 = result.SingleOrDefault(x => x.Email == entry1.Email); player1.RankPlots.Count.Should().Be(3); player1.RankPlots.Single(x => x.Date.Day == 1).EloRating.Should().Be(1560); player1.RankPlots.Single(x => x.Date.Day == 2).EloRating.Should().Be(1560); player1.RankPlots.Single(x => x.Date.Day == 3).EloRating.Should().Be(1520); var player2 = result.SingleOrDefault(x => x.Email == entry2.Email); player2.RankPlots.Count.Should().Be(5); player2.RankPlots.Single(x => x.Date.Day == 1).EloRating.Should().Be(1480); player2.RankPlots.Single(x => x.Date.Day == 2).EloRating.Should().Be(1440); player2.RankPlots.Single(x => x.Date.Day == 4).EloRating.Should().Be(1400); player2.RankPlots.Single(x => x.Date.Day == 5).EloRating.Should().Be(1380); player2.RankPlots.Single(x => x.Date.Day == 7).EloRating.Should().Be(1400); }
public void FillOutPlayerRankBlanks_WhenCalled_ShouldGiveEveryPlayerPlotsForSameDays() { // Arrange var optionsWrapper = GetOptionsWrapper(); var cut = new PlayerRankLogic( new PlayerRankHistoryRepository( optionsWrapper)); var list = new List <PlayerRankSeasonEntry>(); var entry1 = CreateEntry1day("player1", 1, 1); var entry2 = CreateEntry1day("player2", 1, 2); list.Add(entry1); list.Add(entry2); // Act var result = cut.FillOutPlayerRankBlanks(list); // Assert var player1 = result.SingleOrDefault(x => x.Email == entry1.Email); player1.RankPlots.Count.Should().Be(2); var player2 = result.SingleOrDefault(x => x.Email == entry2.Email); player2.RankPlots.Count.Should().Be(2); }