示例#1
0
        public async Task <IEnumerable <LiveTeamRanking> > GetLiveRanking()
        {
            var matchStatusTask = GetLiveStatus();
            var killListTask    = _playerKillRepository.GetLiveKillList(64);
            await Task.WhenAll(matchStatusTask, killListTask).ConfigureAwait(false);

            return(await _teamRankingService.GetTeamRankings(killListTask.Result, matchStatusTask.Result).ConfigureAwait(false));
        }
        public async Task GetTeamRankings_WhenProvidingMockInputs_ShouldProduceExpectedOutput()
        {
            // arrange
            var mockKillListStr        = EmbeddedResourcesUtility.ReadEmbeddedResource("Fanview.Test.Mocks.killList.json");
            var mockLiveMatchStatusStr = EmbeddedResourcesUtility.ReadEmbeddedResource("Fanview.Test.Mocks.liveMatchStatus.json");
            var mockResStr             = EmbeddedResourcesUtility.ReadEmbeddedResource("Fanview.Test.Mocks.teamRankingResult.json");
            var mockKillList           = JsonConvert.DeserializeObject <KillLeader>(mockKillListStr);
            var mockLiveMatchStatus    = JsonConvert.DeserializeObject <IEnumerable <LiveMatchStatus> >(mockLiveMatchStatusStr);
            var mockRes = JsonConvert.DeserializeObject <IEnumerable <LiveTeamRanking> >(mockResStr);

            // act
            var res = await _sut.GetTeamRankings(mockKillList, mockLiveMatchStatus);

            // assert
            foreach (var team in res)
            {
                var mockTeam = mockRes.FirstOrDefault(t => t.TeamId == team.TeamId);
                Assert.AreEqual(mockTeam.RankPoints, team.RankPoints, team.TeamName + " - Rank points");
                Assert.AreEqual(mockTeam.KillPoints, team.KillPoints, team.TeamName + " - Kill points");
                Assert.AreEqual(mockTeam.TotalPoints, team.TotalPoints, team.TeamName + " - Total points");
                Assert.AreEqual(mockTeam.TeamRank, team.TeamRank, team.TeamName + " - Rank");
            }
        }