private static List <Archetype> _getArchetypesCollectionForTest() { var archetypes = new List <Archetype>(); var archetype = new Archetype("TestArchetype", false); var statistics1 = new ArchetypeStatistics(archetype, new DateTime(2019, 4, 29)); statistics1.IncrementNumberOfDecksWhereWasUsedByAmount(10); statistics1.IncrementNumberOfTimesWhenArchetypeWonByAmount(1); var statistics2 = new ArchetypeStatistics(archetype, new DateTime(2019, 4, 30)); statistics2.IncrementNumberOfDecksWhereWasUsedByAmount(5); statistics2.IncrementNumberOfTimesWhenArchetypeWonByAmount(0); var statistics3 = new ArchetypeStatistics(archetype, new DateTime(2019, 5, 2)); statistics3.IncrementNumberOfDecksWhereWasUsedByAmount(200); statistics3.IncrementNumberOfTimesWhenArchetypeWonByAmount(50); archetype.Statistics.Add(statistics1); archetype.Statistics.Add(statistics2); archetype.Statistics.Add(statistics3); archetypes.Add(archetype); return(archetypes); }
public void Convert_WeGetFirstDtoFromCollecti_StatisticsSuccesfullyConverted() { var statistics = new List <ArchetypeStatistics>(); var archetypeStatistics = new ArchetypeStatistics( new Archetype(Archetype.Default, true), new DateTime(2019, 4, 29)); archetypeStatistics.IncrementNumberOfDecksWhereWasUsedByAmount(10); archetypeStatistics.IncrementNumberOfTimesWhenArchetypeWonByAmount(2); statistics.Add(archetypeStatistics); var statisticsDto = _converter.Convert(statistics).First(); Assert.Multiple(() => { Assert.AreEqual( archetypeStatistics.NumberOfDecksWhereWasUsed, statisticsDto.NumberOfDecksWhereWasUsed); Assert.AreEqual( archetypeStatistics.NumberOfTimesWhenArchetypeWon, statisticsDto.NumberOfTimesWhenArchetypeWon); Assert.AreEqual( archetypeStatistics.DateWhenArchetypeWasUsed, statisticsDto.DateWhenArchetypeWasUsed); }); }
/// <<inheritdoc /> public Archetype GetArchetypeOfTheDecklistWithStatistics(Decklist decklist, DateTime whenDecklistWasUsed) { if (decklist.Archetype == null) { decklist.Archetype = _getTheMostUsedArchetypeInDecklist(decklist); } var statistics = decklist.Archetype.Statistics.FirstOrDefault(x => x.DateWhenArchetypeWasUsed == whenDecklistWasUsed); if (statistics == null) { statistics = new ArchetypeStatistics(decklist.Archetype, whenDecklistWasUsed); decklist.Archetype.Statistics.Add(statistics); } return(decklist.Archetype); }