示例#1
0
 public W3CStatsController(
     IW3StatsRepo w3StatsRepo,
     HeroStatsQueryHandler heroStatsQueryHandler,
     MmrDistributionHandler mmrDistributionHandler)
 {
     _w3StatsRepo            = w3StatsRepo;
     _heroStatsQueryHandler  = heroStatsQueryHandler;
     _mmrDistributionHandler = mmrDistributionHandler;
 }
        public async Task PlayerStats_LoadMMRsByValidEnumValues()
        {
            var testing_season      = 0;
            var playerRepository    = new PlayerRepository(MongoClient);
            var playOverviewHandler = new PlayOverviewHandler(playerRepository);

            var mmrDistributionHandler = new MmrDistributionHandler(playerRepository);

            var gateWayValues  = Enum.GetValues(typeof(GateWay));
            var gameModeValues = Enum.GetValues(typeof(GameMode));

            foreach (GateWay gateWay in gateWayValues)
            {
                //skip undefinded value of ENums
                if (gateWay == GateWay.Undefined)
                {
                    continue;
                }
                foreach (GameMode gameMode in gameModeValues)
                {
                    if (gameMode == GameMode.Undefined ||
                        gameMode == GameMode.GM_2v2 ||
                        gameMode == GameMode.GM_2v2_AT ||
                        gameMode == GameMode.GM_4v4 ||
                        gameMode == GameMode.GM_4v4_AT ||
                        gameMode == GameMode.GM_LEGION_4v4_x20 ||
                        gameMode == GameMode.GM_LEGION_4v4_x20_AT)
                    {
                        continue;
                    }

                    var matchFinishedEvent1 = TestDtoHelper.CreateFakeEvent();
                    matchFinishedEvent1.match.players[0].battleTag = "peter#123";
                    matchFinishedEvent1.match.season          = testing_season;
                    matchFinishedEvent1.match.players[0].race = Race.HU;
                    matchFinishedEvent1.match.gateway         = gateWay;
                    matchFinishedEvent1.match.gameMode        = gameMode;

                    var matchFinishedEvent2 = TestDtoHelper.CreateFakeEvent();
                    matchFinishedEvent2.match.players[0].battleTag = "peter#123";
                    matchFinishedEvent2.match.season          = testing_season;
                    matchFinishedEvent2.match.players[0].race = Race.NE;
                    matchFinishedEvent2.match.gateway         = gateWay;
                    matchFinishedEvent2.match.gameMode        = gameMode;

                    await playOverviewHandler.Update(matchFinishedEvent1);

                    await playOverviewHandler.Update(matchFinishedEvent2);


                    var distribution = await mmrDistributionHandler.GetDistributions(testing_season, gateWay, gameMode);

                    Assert.IsNotNull(distribution);
                }
            }
        }
 public W3CStatsController(
     IW3StatsRepo w3StatsRepo,
     HeroStatsQueryHandler heroStatsQueryHandler,
     MmrDistributionHandler mmrDistributionHandler,
     IPlayerRepository playerRepository)
 {
     _w3StatsRepo            = w3StatsRepo;
     _heroStatsQueryHandler  = heroStatsQueryHandler;
     _mmrDistributionHandler = mmrDistributionHandler;
     _playerRepository       = playerRepository;
 }