예제 #1
0
 public SkillBasedAssigner(MatchRepository matchRepository, SteamworksApi steamworksApi, ILogger <SkillBasedAssigner> logger)
 {
     myMatchRepository = matchRepository;
     mySteamworksApi   = steamworksApi;
     myLogger          = logger;
     myRandom          = new Random();
 }
예제 #2
0
 public FairTeamsController(ITeamAssigner teamAssigner, SteamworksApi steamworksApi, SteamUserRepository userRepository, ILogger <FairTeamsController> logger)
 {
     myAssigner       = teamAssigner;
     mySteamworksApi  = steamworksApi;
     myUserRepository = userRepository;
     myLogger         = logger;
 }
예제 #3
0
        public async Task ParsePlayerStatistics_ProfileNotPublic_ThrowsProfileNotPublicException()
        {
            var steamworksApi = new SteamworksApi();

            var parseStatisticsTask = steamworksApi.ParsePlayerStatistics(myPrivateProfilePlayerSteamID);

            await Assert.ThrowsAsync <ProfileNotPublicException>(() => parseStatisticsTask);
        }
예제 #4
0
        public void ParseSteamUsernames_ValidSteamID_ReturnsFairTeamsAIUsername()
        {
            var steamworksApi = new SteamworksApi();

            var steamUsername = steamworksApi.ParseSteamUsernames(new List <string> {
                myPrivateProfilePlayerSteamID
            }).Result.First().Value;

            Assert.Equal(myPrivateProfilePlayerSteamUsername, steamUsername);
        }
예제 #5
0
        public async Task GetNextMatchSharingCode_PreviousCodeIsNotNewest_ReturnsNextSharingCode()
        {
            var previousSharingCode = "CSGO-ndsnw-9jkUc-six5k-y2hcE-kosSJ";
            var authenticationToken = "7TDM-B27HW-THBQ";

            var steamworksApi = new SteamworksApi();

            var nextSharingCode = await steamworksApi.GetNextMatchSharingCode(myPublicProfilePlayerSteamID, authenticationToken, previousSharingCode);

            Assert.Equal("CSGO-k2TXT-9rmts-XE8G2-yqGVu-FhnEM", nextSharingCode);
        }
예제 #6
0
        public void ParseSteamUsernames_InvalidSteamID_ReturnsNothing()
        {
            var invalidSteamID = "0";
            var steamworksApi  = new SteamworksApi();

            var steamIDsWithUsername = steamworksApi.ParseSteamUsernames(new List <string> {
                invalidSteamID
            }).Result;

            Assert.Empty(steamIDsWithUsername);
        }
예제 #7
0
        public void ParseSteamUsernames_OneValidOneInvalidSteamID_ReturnsUsernameForValidSteamID()
        {
            var invalidSteamID            = "0";
            var oneValidOneInvalidSteamID = new List <string> {
                myPrivateProfilePlayerSteamID, invalidSteamID
            };
            var steamworksApi = new SteamworksApi();

            var steamIDsWithUsername = steamworksApi.ParseSteamUsernames(oneValidOneInvalidSteamID).Result;

            Assert.Single(steamIDsWithUsername);
            Assert.Equal(myPrivateProfilePlayerSteamUsername, steamIDsWithUsername.First().Value);
        }
예제 #8
0
        public void ParsePlayerStatistics_ProfilePublic_ReturnsExpectedStatistics()
        {
            var expectedStatistics = new List <string>
            {
                "total_kills",
                "total_deaths",
                "total_damage_done",
                "total_kills_bizon"
            };
            var steamworksApi = new SteamworksApi();

            var statistics = steamworksApi.ParsePlayerStatistics(myPublicProfilePlayerSteamID).Result;

            Assert.True(statistics.Any());

            foreach (var expectedStatistic in expectedStatistics)
            {
                Assert.True(statistics.Select(x => x.Name == expectedStatistic).Any());
            }
        }
예제 #9
0
 public SkillBasedAssigner(MatchRepository matchRepository, SteamworksApi steamworksApi) : this(matchRepository, steamworksApi, UnitTestLoggerCreator.CreateUnitTestLogger <SkillBasedAssigner>())
 {
 }