public void SetUp() { _db = new YgoProAnalyticsDatabase(_getOptionsForSqlInMemoryTesting <YgoProAnalyticsDatabase>()); _db.Database.EnsureCreated(); _adminConfigMock = new Mock <IAdminConfig>(); _duelLogConverter = new Mock <IDuelLogConverter>(); _analyzer = new DuelLogNameAnalyzer(_db, _adminConfigMock.Object, _duelLogConverter.Object); }
public void GetBanlist_DuelLogNameContainInfoAboutBanlistButBanlistIsNotKnown_WeGetUnnownBanlistException( string duelLogName, string duelLogDate) { using (var db = new YgoProAnalyticsDatabase(_getOptionsForSqlInMemoryTesting <YgoProAnalyticsDatabase>())) { db.Database.EnsureCreated(); _analyzer = new DuelLogNameAnalyzer(db, _adminConfigMock.Object, _duelLogConverter.Object); Assert.Throws <UnknownBanlistException>(() => _analyzer.GetBanlist( duelLogName, _convertDuelLogTimeToDateTime(duelLogDate))); } }
public YgoProAnalysisBasedOnDataFromYgoProServer( IDuelLogNameAnalyzer duelLogNameAnalyzer, YgoProAnalyticsDatabase db, IArchetypeAndDecklistAnalyzer archetypeAndDecklistAnalyzer, IYDKToDecklistConverter yDKToDecklistConverter, IBanlistService banlistService, IDecklistService decklistService) { _duelLogNameAnalyzer = duelLogNameAnalyzer; _db = db; _archetypeAndDecklistAnalyzer = archetypeAndDecklistAnalyzer; _yDKToDecklistConverter = yDKToDecklistConverter; _banlistService = banlistService; _decklistService = decklistService; }
public void GetBanlist_DuelLogDoNotContainInfoAboutAnyBanlistOrAnyNoDeckLikeNC_WeGetDefaultBanlist( string duelLogName, string duelLogDate) { using (var db = new YgoProAnalyticsDatabase(_getOptionsForSqlInMemoryTesting <YgoProAnalyticsDatabase>())) { db.Database.EnsureCreated(); var adminConfigMock = new Mock <IAdminConfig>(); adminConfigMock .Setup(x => x.DefaultBanlistNumber) .Returns(1); var duelLogConverter = new Mock <IDuelLogConverter>(); db.Banlists.Add(new Banlist("2019.03 TCG", 1)); db.SaveChanges(); _analyzer = new DuelLogNameAnalyzer(db, adminConfigMock.Object, duelLogConverter.Object); var banlist = _analyzer.GetBanlist(duelLogName, _convertDuelLogTimeToDateTime(duelLogDate)); Assert.AreEqual("2019.03 TCG", banlist.Name); } }
public void GetBanlist_DuelLogNameContainInfoAboutBanlistAndIsKnownMoreThanOneBanlist_WeGetRequestedBanlist( string duelLogName, string duelLogDate, string banlistName) { using (var db = new YgoProAnalyticsDatabase(_getOptionsForSqlInMemoryTesting <YgoProAnalyticsDatabase>())) { db.Database.EnsureCreated(); var duelLogConverterMock = new Mock <IDuelLogConverter>(); var logDateTime = DateTime.Parse("2019-03-19 16:22:26"); duelLogConverterMock .Setup(x => x.ConvertDuelLogTimeToDateTime(duelLogDate)) .Returns(logDateTime); db.Banlists.Add(new Banlist("2019.03 TCG", 1)); db.Banlists.Add(new Banlist("2019.03 OCG", 1)); db.SaveChanges(); _analyzer = new DuelLogNameAnalyzer(db, _adminConfigMock.Object, duelLogConverterMock.Object); var banlist = _analyzer.GetBanlist(duelLogName, _convertDuelLogTimeToDateTime(duelLogDate)); Assert.AreEqual(banlistName, banlist.Name); } }
public BanlistStatisticsUpdater(YgoProAnalyticsDatabase db, IDuelLogNameAnalyzer duelLogNameAnalyzer) { _db = db; _duelLogNameAnalyzer = duelLogNameAnalyzer; }