Exemple #1
0
 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);
 }
Exemple #2
0
        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;
 }
Exemple #4
0
        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);
            }
        }
Exemple #5
0
        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);
            }
        }
Exemple #6
0
 public BanlistStatisticsUpdater(YgoProAnalyticsDatabase db, IDuelLogNameAnalyzer duelLogNameAnalyzer)
 {
     _db = db;
     _duelLogNameAnalyzer = duelLogNameAnalyzer;
 }