Exemple #1
0
        public void TwoOnTwoDuellingTest()
        {
            var calculator = new DuellingEloCalculator(new GaussianEloCalculator());

            var player1 = new Player(1);
            var player2 = new Player(2);

            var gameInfo = GameInfo.DefaultGameInfo;

            var team1 = new Team()
                        .AddPlayer(player1, gameInfo.DefaultRating)
                        .AddPlayer(player2, gameInfo.DefaultRating);

            var player3 = new Player(3);
            var player4 = new Player(4);

            var team2 = new Team()
                        .AddPlayer(player3, gameInfo.DefaultRating)
                        .AddPlayer(player4, gameInfo.DefaultRating);

            var teams             = Teams.Concat(team1, team2);
            var newRatingsWinLose = calculator.CalculateNewRatings(gameInfo, teams, new int[] { 1, 2 });

            // TODO: Verify?
            AssertRating(37, newRatingsWinLose[player1]);
            AssertRating(37, newRatingsWinLose[player2]);
            AssertRating(13, newRatingsWinLose[player3]);
            AssertRating(13, newRatingsWinLose[player4]);

            var quality = calculator.CalculateMatchQuality(gameInfo, teams);

            Assert.AreEqual(1.0, quality, 0.001);
        }
        public void TwoOnTwoDuellingTest()
        {
            var calculator = new DuellingEloCalculator(new GaussianEloCalculator());

            var player1 = new Player(1);
            var player2 = new Player(2);

            var gameInfo = GameInfo.DefaultGameInfo;

            var team1 = new Team()
                .AddPlayer(player1, gameInfo.DefaultRating)
                .AddPlayer(player2, gameInfo.DefaultRating);

            var player3 = new Player(3);
            var player4 = new Player(4);

            var team2 = new Team()
                        .AddPlayer(player3, gameInfo.DefaultRating)
                        .AddPlayer(player4, gameInfo.DefaultRating);

            var teams = Teams.Concat(team1, team2);
            var newRatingsWinLose = calculator.CalculateNewRatings(gameInfo, teams, 1, 2);

            // TODO: Verify?
            AssertRating(37, newRatingsWinLose[player1]);
            AssertRating(37, newRatingsWinLose[player2]);
            AssertRating(13, newRatingsWinLose[player3]);
            AssertRating(13, newRatingsWinLose[player4]);

            var quality = calculator.CalculateMatchQuality(gameInfo, teams);
            Assert.AreEqual(1.0, quality, 0.001);
        }