Beispiel #1
0
        public void WhenPlayingBestOfOneTheTotalChanceShouldAlwaysBeOne()
        {
            decimal eloPlayerOne = 1600;
            decimal eloPlayerTwo = 1200;
            var     r1           = GeneralEloCalculator.CalculateExpectationForResult(eloPlayerOne, eloPlayerTwo, 1, 0);
            var     r2           = GeneralEloCalculator.CalculateExpectationForResult(eloPlayerOne, eloPlayerTwo, 0, 1);

            (r1 + r2).Should().BeApproximately(1, 0.001m);
        }
Beispiel #2
0
        public void WhenPlayingABestOfThreeAndAllSetsArePlayedTheTotalChanceShouldAlwaysBeOne()
        {
            var r1 = GeneralEloCalculator.ChanceOfHavingThisResultAllSetsPlayed(3, 0, 0.8m);
            var r2 = GeneralEloCalculator.ChanceOfHavingThisResultAllSetsPlayed(2, 1, 0.8m);
            var r3 = GeneralEloCalculator.ChanceOfHavingThisResultAllSetsPlayed(1, 2, 0.8m);
            var r4 = GeneralEloCalculator.ChanceOfHavingThisResultAllSetsPlayed(0, 3, 0.8m);

            (r1 + r2 + r3 + r4).Should().BeApproximately(1, 0.001m);
        }
Beispiel #3
0
        public void WhenPlayingBestOfThree(int score1, int score2, decimal chanceWinningSet, decimal expectedChanceWinningGame)
        {
            var actualChanceWinningGame = GeneralEloCalculator.ChanceOfHavingThisResultAllSetsPlayed(score1, score2, chanceWinningSet);

            actualChanceWinningGame.Should().BeApproximately(expectedChanceWinningGame, 0.001m);
        }
Beispiel #4
0
        public void CalculateExpectationTests(decimal eloPlayerOne, decimal eloPlayerTwo, int numberOfGames, decimal expected)
        {
            var actual = GeneralEloCalculator.CalculateExpectationForBestOf(eloPlayerOne, eloPlayerTwo, numberOfGames);

            actual.Should().BeApproximately(expected, 0.001m);
        }