Ejemplo n.º 1
0
 public PlayerStatistics(BasePlayerStatistics stats)
 {
     totalMatchesPlayed = stats.TotalMatchesPlayed;
     totalMatchesWon    = stats.TotalMatchesWon;
     favoriteServer     = stats.Servers
                          .FirstOrDefault(pair => pair.Value == stats.Servers.Max(valuePair => valuePair.Value)).Key;
     uniqueServers    = stats.UniqueServers;
     favoriteGameMode = stats.GameModes
                        .FirstOrDefault(pair => pair.Value == stats.GameModes.Max(valuePair => valuePair.Value)).Key;
     averageScoreboardPercent = stats.TotalScoreboardPercent / stats.TotalMatchesPlayed;
     maximumMatchesPerDay     = stats.MaximumMatchesPerDay;
     averageMatchesPerDay     = stats.TotalMatchesPlayed / Math.Max(Math.Ceiling(stats.LastMatchPlayed.Subtract(stats.FirstMatchPlayed).TotalDays), 1.0);
     lastMatchPlayed          = stats.LastMatchPlayed;
     killToDeathRatio         = (double)stats.TotalKills / stats.TotalDeaths;
 }
Ejemplo n.º 2
0
        public void RecalculatedAsCompetitor_WithAdditionalMatch()
        {
            var stats = new BasePlayerStatistics("PlayerB");
            var updatedStats = stats.RecalculateWithAdditional(match);

            Assert.AreNotEqual(updatedStats, null);

            updatedStats.TotalMatchesPlayed.ShouldBeEquivalentTo(1);
            updatedStats.TotalMatchesWon.ShouldBeEquivalentTo(0);
            updatedStats.TotalKills.ShouldBeEquivalentTo(1);
            updatedStats.TotalDeaths.ShouldBeEquivalentTo(3);
            updatedStats.MaximumMatchesPerDay.ShouldBeEquivalentTo(1);
            updatedStats.TotalMatchesToday.ShouldBeEquivalentTo(1);
            updatedStats.TotalScoreboardPercent.ShouldBeEquivalentTo(0.0);
            updatedStats.FirstMatchPlayed.ShouldBeEquivalentTo(new DateTime(2017, 01, 01));
            updatedStats.LastMatchPlayed.ShouldBeEquivalentTo(new DateTime(2017, 01, 01));
            updatedStats.Servers["192.168.0.1-8080"].ShouldBeEquivalentTo(1);
            updatedStats.GameModes["TestModeA"].ShouldBeEquivalentTo(1);
        }
Ejemplo n.º 3
0
 public override Tuple <int, int> Selector(BasePlayerStatistics arg)
 {
     return(Tuple.Create(arg.TotalKills, arg.TotalDeaths));
 }
Ejemplo n.º 4
0
 public override PlayersKillToDeathRateStat Transformer(BasePlayerStatistics arg)
 {
     return(new PlayersKillToDeathRateStat(arg.Name, (double)arg.TotalKills / arg.TotalDeaths));
 }
Ejemplo n.º 5
0
 public override bool Filter(BasePlayerStatistics arg)
 {
     return(arg.TotalMatchesPlayed >= 10 && arg.TotalDeaths != 0);
 }