mirror of
				https://github.com/furyfire/trueskill.git
				synced 2025-11-04 10:12:28 +01:00 
			
		
		
		
	Refactoring for PHP8.2
This commit is contained in:
		@@ -18,7 +18,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
 | 
			
		||||
    // These are the roll-up ones
 | 
			
		||||
 | 
			
		||||
    public static function testAllTwoPlayerScenarios(TestCase $testClass, SkillCalculator $calculator)
 | 
			
		||||
    public static function testAllTwoPlayerScenarios(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        self::twoPlayerTestNotDrawn($testClass, $calculator);
 | 
			
		||||
        self::twoPlayerTestDrawn($testClass, $calculator);
 | 
			
		||||
@@ -26,7 +26,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
        self::oneOnOneMassiveUpsetDrawTest($testClass, $calculator);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static function testAllTwoTeamScenarios(TestCase $testClass, SkillCalculator $calculator)
 | 
			
		||||
    public static function testAllTwoTeamScenarios(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        self::oneOnTwoSimpleTest($testClass, $calculator);
 | 
			
		||||
        self::oneOnTwoSomewhatBalanced($testClass, $calculator);
 | 
			
		||||
@@ -45,7 +45,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
        self::fourOnFourSimpleTest($testClass, $calculator);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static function testAllMultipleTeamScenarios(TestCase $testClass, SkillCalculator $calculator)
 | 
			
		||||
    public static function testAllMultipleTeamScenarios(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        self::threeTeamsOfOneNotDrawn($testClass, $calculator);
 | 
			
		||||
        self::threeTeamsOfOneDrawn($testClass, $calculator);
 | 
			
		||||
@@ -57,7 +57,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
        self::twoOnFourOnTwoWinDraw($testClass, $calculator);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static function testPartialPlayScenarios(TestCase $testClass, SkillCalculator $calculator)
 | 
			
		||||
    public static function testPartialPlayScenarios(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        self::oneOnTwoBalancedPartialPlay($testClass, $calculator);
 | 
			
		||||
    }
 | 
			
		||||
@@ -76,7 +76,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
    // Two Player Tests
 | 
			
		||||
    //------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
    private static function twoPlayerTestNotDrawn(TestCase $testClass, SkillCalculator $calculator)
 | 
			
		||||
    private static function twoPlayerTestNotDrawn(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        $player1 = new Player(1);
 | 
			
		||||
        $player2 = new Player(2);
 | 
			
		||||
@@ -97,7 +97,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
        self::assertMatchQuality($testClass, 0.447, $calculator->calculateMatchQuality($gameInfo, $teams));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private static function twoPlayerTestDrawn(TestCase $testClass, SkillCalculator $calculator)
 | 
			
		||||
    private static function twoPlayerTestDrawn(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        $player1 = new Player(1);
 | 
			
		||||
        $player2 = new Player(2);
 | 
			
		||||
@@ -119,7 +119,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
        self::assertMatchQuality($testClass, 0.447, $calculator->calculateMatchQuality($gameInfo, $teams));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private static function twoPlayerChessTestNotDrawn(TestCase $testClass, SkillCalculator $calculator)
 | 
			
		||||
    private static function twoPlayerChessTestNotDrawn(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        // Inspired by a real bug :-)
 | 
			
		||||
        $player1 = new Player(1);
 | 
			
		||||
@@ -138,7 +138,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
        self::assertRating($testClass, 1185.0383099003536, 42.485604606897752, $player2NewRating);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private static function oneOnOneMassiveUpsetDrawTest(TestCase $testClass, SkillCalculator $calculator)
 | 
			
		||||
    private static function oneOnOneMassiveUpsetDrawTest(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        $player1 = new Player(1);
 | 
			
		||||
 | 
			
		||||
@@ -167,7 +167,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
    // Two Team Tests
 | 
			
		||||
    //------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
    private static function oneOnTwoSimpleTest(TestCase $testClass, SkillCalculator $calculator)
 | 
			
		||||
    private static function oneOnTwoSimpleTest(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        $player1 = new Player(1);
 | 
			
		||||
 | 
			
		||||
@@ -200,7 +200,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
    // Two Team Tests
 | 
			
		||||
    //------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
    private static function twoOnTwoSimpleTest(TestCase $testClass, SkillCalculator $calculator)
 | 
			
		||||
    private static function twoOnTwoSimpleTest(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        $player1 = new Player(1);
 | 
			
		||||
        $player2 = new Player(2);
 | 
			
		||||
@@ -232,7 +232,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
        self::assertMatchQuality($testClass, 0.447, $calculator->calculateMatchQuality($gameInfo, $teams));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private static function oneOnTwoSomewhatBalanced(TestCase $testClass, SkillCalculator $calculator)
 | 
			
		||||
    private static function oneOnTwoSomewhatBalanced(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        $player1 = new Player(1);
 | 
			
		||||
 | 
			
		||||
@@ -261,7 +261,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
        self::assertMatchQuality($testClass, 0.478, $calculator->calculateMatchQuality($gameInfo, $teams));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private static function oneOnThreeSimpleTest(TestCase $testClass, SkillCalculator $calculator)
 | 
			
		||||
    private static function oneOnThreeSimpleTest(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        $player1 = new Player(1);
 | 
			
		||||
 | 
			
		||||
@@ -293,7 +293,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
        self::assertMatchQuality($testClass, 0.012, $calculator->calculateMatchQuality($gameInfo, $teams));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private static function oneOnTwoDrawTest(TestCase $testClass, SkillCalculator $calculator)
 | 
			
		||||
    private static function oneOnTwoDrawTest(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        $player1 = new Player(1);
 | 
			
		||||
 | 
			
		||||
@@ -322,7 +322,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
        self::assertMatchQuality($testClass, 0.135, $calculator->calculateMatchQuality($gameInfo, $teams));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private static function oneOnThreeDrawTest(TestCase $testClass, SkillCalculator $calculator)
 | 
			
		||||
    private static function oneOnThreeDrawTest(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        $player1 = new Player(1);
 | 
			
		||||
 | 
			
		||||
@@ -354,7 +354,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
        self::assertMatchQuality($testClass, 0.012, $calculator->calculateMatchQuality($gameInfo, $teams));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private static function oneOnSevenSimpleTest(TestCase $testClass, SkillCalculator $calculator)
 | 
			
		||||
    private static function oneOnSevenSimpleTest(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        $player1 = new Player(1);
 | 
			
		||||
 | 
			
		||||
@@ -398,7 +398,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
        self::assertMatchQuality($testClass, 0.000, $calculator->calculateMatchQuality($gameInfo, $teams));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private static function threeOnTwoTests(TestCase $testClass, SkillCalculator $calculator)
 | 
			
		||||
    private static function threeOnTwoTests(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        $player1 = new Player(1);
 | 
			
		||||
        $player2 = new Player(2);
 | 
			
		||||
@@ -444,7 +444,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
        self::assertMatchQuality($testClass, 0.254, $calculator->calculateMatchQuality($gameInfo, $teams));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private static function twoOnTwoUnbalancedDrawTest(TestCase $testClass, SkillCalculator $calculator)
 | 
			
		||||
    private static function twoOnTwoUnbalancedDrawTest(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        $player1 = new Player(1);
 | 
			
		||||
        $player2 = new Player(2);
 | 
			
		||||
@@ -476,7 +476,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
        self::assertMatchQuality($testClass, 0.214, $calculator->calculateMatchQuality($gameInfo, $teams));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private static function twoOnTwoUpsetTest(TestCase $testClass, SkillCalculator $calculator)
 | 
			
		||||
    private static function twoOnTwoUpsetTest(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        $player1 = new Player(1);
 | 
			
		||||
        $player2 = new Player(2);
 | 
			
		||||
@@ -508,7 +508,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
        self::assertMatchQuality($testClass, 0.084, $calculator->calculateMatchQuality($gameInfo, $teams));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private static function fourOnFourSimpleTest(TestCase $testClass, SkillCalculator $calculator)
 | 
			
		||||
    private static function fourOnFourSimpleTest(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        $player1 = new Player(1);
 | 
			
		||||
        $player2 = new Player(2);
 | 
			
		||||
@@ -553,7 +553,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
        self::assertMatchQuality($testClass, 0.447, $calculator->calculateMatchQuality($gameInfo, $teams));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private static function twoOnTwoDrawTest(TestCase $testClass, SkillCalculator $calculator)
 | 
			
		||||
    private static function twoOnTwoDrawTest(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        $player1 = new Player(1);
 | 
			
		||||
        $player2 = new Player(2);
 | 
			
		||||
@@ -585,7 +585,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
        self::assertMatchQuality($testClass, 0.447, $calculator->calculateMatchQuality($gameInfo, $teams));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private static function threeTeamsOfOneNotDrawn(TestCase $testClass, SkillCalculator $calculator)
 | 
			
		||||
    private static function threeTeamsOfOneNotDrawn(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        $player1 = new Player(1);
 | 
			
		||||
        $player2 = new Player(2);
 | 
			
		||||
@@ -612,7 +612,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
        self::assertMatchQuality($testClass, 0.200, $calculator->calculateMatchQuality($gameInfo, $teams));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private static function threeTeamsOfOneDrawn(TestCase $testClass, SkillCalculator $calculator)
 | 
			
		||||
    private static function threeTeamsOfOneDrawn(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        $player1 = new Player(1);
 | 
			
		||||
        $player2 = new Player(2);
 | 
			
		||||
@@ -639,7 +639,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
        self::assertMatchQuality($testClass, 0.200, $calculator->calculateMatchQuality($gameInfo, $teams));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private static function fourTeamsOfOneNotDrawn(TestCase $testClass, SkillCalculator $calculator)
 | 
			
		||||
    private static function fourTeamsOfOneNotDrawn(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        $player1 = new Player(1);
 | 
			
		||||
        $player2 = new Player(2);
 | 
			
		||||
@@ -671,7 +671,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
        self::assertMatchQuality($testClass, 0.089, $calculator->calculateMatchQuality($gameInfo, $teams));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private static function fiveTeamsOfOneNotDrawn(TestCase $testClass, SkillCalculator $calculator)
 | 
			
		||||
    private static function fiveTeamsOfOneNotDrawn(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        $player1 = new Player(1);
 | 
			
		||||
        $player2 = new Player(2);
 | 
			
		||||
@@ -707,7 +707,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
        self::assertMatchQuality($testClass, 0.040, $calculator->calculateMatchQuality($gameInfo, $teams));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private static function eightTeamsOfOneDrawn(TestCase $testClass, SkillCalculator $calculator)
 | 
			
		||||
    private static function eightTeamsOfOneDrawn(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        $player1 = new Player(1);
 | 
			
		||||
        $player2 = new Player(2);
 | 
			
		||||
@@ -758,7 +758,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
        self::AssertMatchQuality($testClass, 0.004, $calculator->calculateMatchQuality($gameInfo, $teams));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private static function eightTeamsOfOneUpset(TestCase $testClass, SkillCalculator $calculator)
 | 
			
		||||
    private static function eightTeamsOfOneUpset(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        $player1 = new Player(1);
 | 
			
		||||
        $player2 = new Player(2);
 | 
			
		||||
@@ -810,7 +810,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
        self::assertMatchQuality($testClass, 0.000, $calculator->calculateMatchQuality($gameInfo, $teams));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private static function sixteenTeamsOfOneNotDrawn(TestCase $testClass, SkillCalculator $calculator)
 | 
			
		||||
    private static function sixteenTeamsOfOneNotDrawn(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        $player1 = new Player(1);
 | 
			
		||||
        $player2 = new Player(2);
 | 
			
		||||
@@ -907,7 +907,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
        self::assertRating($testClass, 9.46054223053080, 5.27581643889032, $player16NewRating);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private static function twoOnFourOnTwoWinDraw(TestCase $testClass, SkillCalculator $calculator)
 | 
			
		||||
    private static function twoOnFourOnTwoWinDraw(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        $player1 = new Player(1);
 | 
			
		||||
        $player2 = new Player(2);
 | 
			
		||||
@@ -956,7 +956,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
    // Partial Play Tests
 | 
			
		||||
    //------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
    private static function oneOnTwoBalancedPartialPlay(TestCase $testClass, SkillCalculator $calculator)
 | 
			
		||||
    private static function oneOnTwoBalancedPartialPlay(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        $gameInfo = new GameInfo();
 | 
			
		||||
 | 
			
		||||
@@ -986,13 +986,13 @@ class TrueSkillCalculatorTests
 | 
			
		||||
        self::assertMatchQuality($testClass, 0.44721358745011336, $matchQuality);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private static function assertRating(TestCase $testClass, $expectedMean, $expectedStandardDeviation, $actual)
 | 
			
		||||
    private static function assertRating(TestCase $testClass, $expectedMean, $expectedStandardDeviation, $actual): void
 | 
			
		||||
    {
 | 
			
		||||
        $testClass->assertEqualsWithDelta($expectedMean, $actual->getMean(), self::ERROR_TOLERANCE_TRUESKILL);
 | 
			
		||||
        $testClass->assertEqualsWithDelta($expectedStandardDeviation, $actual->getStandardDeviation(), self::ERROR_TOLERANCE_TRUESKILL);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private static function assertMatchQuality(TestCase $testClass, $expectedMatchQuality, $actualMatchQuality)
 | 
			
		||||
    private static function assertMatchQuality(TestCase $testClass, $expectedMatchQuality, $actualMatchQuality): void
 | 
			
		||||
    {
 | 
			
		||||
        $testClass->assertEqualsWithDelta($expectedMatchQuality, $actualMatchQuality, self::ERROR_TOLERANCE_MATCH_QUALITY);
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user