コード例 #1
0
        public async Task LoadAndSave2()
        {
            var matchFinishedEvent1 = TestDtoHelper.CreateFakeEvent();
            var matchFinishedEvent2 = TestDtoHelper.CreateFakeEvent();

            matchFinishedEvent1.match.id = "nmhcCLaRc7";
            matchFinishedEvent2.match.id = "ashjkn75j4";

            await InsertMatchEvent(matchFinishedEvent1);

            var matchEventRepository = new MatchEventRepository(MongoClient);

            await matchEventRepository.InsertIfNotExisting(matchFinishedEvent1);

            await matchEventRepository.InsertIfNotExisting(matchFinishedEvent2);

            var events = await matchEventRepository.Load();

            Assert.AreEqual(2, events.Count);
            Assert.AreEqual(false, events[0].WasFromSync);
            Assert.AreEqual(true, events[1].WasFromSync);
        }
コード例 #2
0
        public async Task RaceBasedMMRUpdate()
        {
            var matchEventRepository = new MatchEventRepository(MongoClient);
            var rankRepository       = new RankRepository(MongoClient);
            var playerRepository     = new PlayerRepository(MongoClient);

            var matchFinishedEvent  = TestDtoHelper.CreateFakeEvent();
            var rankingChangedEvent = TestDtoHelper.CreateRankChangedEvent();

            matchFinishedEvent.match.players[0].battleTag = "peTer#123";
            matchFinishedEvent.match.players[0].race      = Race.NE;
            matchFinishedEvent.match.gameMode             = GameMode.GM_1v1;
            matchFinishedEvent.match.season  = 2;
            matchFinishedEvent.match.gateway = GateWay.America;

            rankingChangedEvent.ranks[0].battleTags = new List <string> {
                "peTer#123"
            };
            rankingChangedEvent.ranks[0].race = Race.NE;
            rankingChangedEvent.gateway       = GateWay.America;
            rankingChangedEvent.gameMode      = GameMode.GM_1v1;
            rankingChangedEvent.season        = 2;

            await InsertRankChangedEvent(rankingChangedEvent);

            await matchEventRepository.InsertIfNotExisting(matchFinishedEvent);

            var playOverviewHandler = new PlayOverviewHandler(playerRepository);
            await playOverviewHandler.Update(matchFinishedEvent);

            var rankHandler = new RankSyncHandler(rankRepository, matchEventRepository);

            await playOverviewHandler.Update(matchFinishedEvent);

            await rankHandler.Update();

            var rank = await rankRepository.SearchPlayerOfLeague("peT", 2, GateWay.America, GameMode.GM_1v1);

            Assert.AreEqual(1, rank.Count);
            Assert.AreEqual(Race.NE, rank[0].Race);
        }
コード例 #3
0
        public async Task RankIntegrationWithMultipleIds()
        {
            var matchEventRepository = new MatchEventRepository(MongoClient);
            var rankRepository       = new RankRepository(MongoClient, personalSettingsProvider);
            var playerRepository     = new PlayerRepository(MongoClient);

            var matchFinishedEvent  = TestDtoHelper.CreateFakeEvent();
            var rankingChangedEvent = TestDtoHelper.CreateRankChangedEvent();

            matchFinishedEvent.match.players[0].battleTag = "peTer#123";
            matchFinishedEvent.match.gameMode             = GameMode.GM_1v1;
            matchFinishedEvent.match.gateway = GateWay.America;

            rankingChangedEvent.ranks[0].battleTags = new List <string> {
                "peTer#123"
            };
            rankingChangedEvent.gateway  = GateWay.America;
            rankingChangedEvent.gameMode = GameMode.GM_1v1;

            await InsertRankChangedEvent(rankingChangedEvent);

            await matchEventRepository.InsertIfNotExisting(matchFinishedEvent);

            var playOverviewHandler = new PlayOverviewHandler(playerRepository);
            await playOverviewHandler.Update(matchFinishedEvent);

            var rankHandler = new RankSyncHandler(rankRepository, matchEventRepository);

            await playOverviewHandler.Update(matchFinishedEvent);

            await rankHandler.Update();

            var rank = await rankRepository.SearchPlayerOfLeague("peT", 0, GateWay.America, GameMode.GM_1v1);

            Assert.AreEqual(1, rank.Count);
        }