mirror of
				https://github.com/furyfire/trueskill.git
				synced 2025-11-04 02:02:29 +01:00 
			
		
		
		
	More code standards
This commit is contained in:
		@@ -1,5 +1,7 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace DNW\Skills\Tests\FactorGraphs;
 | 
			
		||||
 | 
			
		||||
use DNW\Skills\FactorGraphs\ScheduleStep;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,7 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace DNW\Skills\Tests\FactorGraphs;
 | 
			
		||||
 | 
			
		||||
use DNW\Skills\FactorGraphs\Variable;
 | 
			
		||||
@@ -11,8 +13,9 @@ class VariableTest extends TestCase
 | 
			
		||||
    public function test(): void
 | 
			
		||||
    {
 | 
			
		||||
        $gd_prior = new GaussianDistribution();
 | 
			
		||||
        $var = new Variable('dummy', $gd_prior);
 | 
			
		||||
        $var      = new Variable('dummy', $gd_prior);
 | 
			
		||||
        $this->assertEquals($gd_prior, $var->getValue());
 | 
			
		||||
 | 
			
		||||
        $gd_new = new GaussianDistribution();
 | 
			
		||||
        $this->assertEquals($gd_new, $var->getValue());
 | 
			
		||||
        $var->resetToPrior();
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
<?php declare(strict_types=1);
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace DNW\Skills\Tests;
 | 
			
		||||
 | 
			
		||||
@@ -12,7 +14,7 @@ class GuardTest extends TestCase
 | 
			
		||||
    {
 | 
			
		||||
        $this->expectException(Exception::class);
 | 
			
		||||
        $this->expectExceptionMessage('dummy can not be null');
 | 
			
		||||
        Guard::argumentNotNull(null, "dummy");
 | 
			
		||||
        Guard::argumentNotNull(NULL, "dummy");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function testargumentIsValidIndex(): void
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,7 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace DNW\Skills\Tests\Numerics;
 | 
			
		||||
 | 
			
		||||
use DNW\Skills\Numerics\BasicMath;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,7 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace DNW\Skills\Tests\Numerics;
 | 
			
		||||
 | 
			
		||||
use DNW\Skills\Numerics\BasicMath;
 | 
			
		||||
@@ -39,9 +41,9 @@ class GaussianDistributionTest extends TestCase
 | 
			
		||||
    public function testMultiplication(): void
 | 
			
		||||
    {
 | 
			
		||||
        // I verified this against the formula at http://www.tina-vision.net/tina-knoppix/tina-memo/2003-003.pdf
 | 
			
		||||
        $standardNormal = new GaussianDistribution(0, 1);
 | 
			
		||||
        $standardNormal  = new GaussianDistribution(0, 1);
 | 
			
		||||
        $shiftedGaussian = new GaussianDistribution(2, 3);
 | 
			
		||||
        $product = GaussianDistribution::multiply($standardNormal, $shiftedGaussian);
 | 
			
		||||
        $product         = GaussianDistribution::multiply($standardNormal, $shiftedGaussian);
 | 
			
		||||
 | 
			
		||||
        $this->assertEqualsWithDelta(0.2, $product->getMean(), GaussianDistributionTest::ERROR_TOLERANCE);
 | 
			
		||||
        $this->assertEqualsWithDelta(3.0 / sqrt(10), $product->getStandardDeviation(), GaussianDistributionTest::ERROR_TOLERANCE);
 | 
			
		||||
@@ -61,15 +63,15 @@ class GaussianDistributionTest extends TestCase
 | 
			
		||||
    public function testDivision(): void
 | 
			
		||||
    {
 | 
			
		||||
        // Since the multiplication was worked out by hand, we use the same numbers but work backwards
 | 
			
		||||
        $product = new GaussianDistribution(0.2, 3.0 / sqrt(10));
 | 
			
		||||
        $product        = new GaussianDistribution(0.2, 3.0 / sqrt(10));
 | 
			
		||||
        $standardNormal = new GaussianDistribution(0, 1);
 | 
			
		||||
 | 
			
		||||
        $productDividedByStandardNormal = GaussianDistribution::divide($product, $standardNormal);
 | 
			
		||||
        $this->assertEqualsWithDelta(2.0, $productDividedByStandardNormal->getMean(), GaussianDistributionTest::ERROR_TOLERANCE);
 | 
			
		||||
        $this->assertEqualsWithDelta(3.0, $productDividedByStandardNormal->getStandardDeviation(), GaussianDistributionTest::ERROR_TOLERANCE);
 | 
			
		||||
 | 
			
		||||
        $product2 = new GaussianDistribution((4 * BasicMath::square(7) + 6 * BasicMath::square(5)) / (BasicMath::square(5) + BasicMath::square(7)), sqrt(((BasicMath::square(5) * BasicMath::square(7)) / (BasicMath::square(5) + BasicMath::square(7)))));
 | 
			
		||||
        $m4s5 = new GaussianDistribution(4, 5);
 | 
			
		||||
        $product2              = new GaussianDistribution((4 * BasicMath::square(7) + 6 * BasicMath::square(5)) / (BasicMath::square(5) + BasicMath::square(7)), sqrt(((BasicMath::square(5) * BasicMath::square(7)) / (BasicMath::square(5) + BasicMath::square(7)))));
 | 
			
		||||
        $m4s5                  = new GaussianDistribution(4, 5);
 | 
			
		||||
        $product2DividedByM4S5 = GaussianDistribution::divide($product2, $m4s5);
 | 
			
		||||
        $this->assertEqualsWithDelta(6.0, $product2DividedByM4S5->getMean(), GaussianDistributionTest::ERROR_TOLERANCE);
 | 
			
		||||
        $this->assertEqualsWithDelta(7.0, $product2DividedByM4S5->getStandardDeviation(), GaussianDistributionTest::ERROR_TOLERANCE);
 | 
			
		||||
@@ -93,7 +95,7 @@ class GaussianDistributionTest extends TestCase
 | 
			
		||||
        // Verified with Ralf Herbrich's F# implementation
 | 
			
		||||
        $m1s2 = new GaussianDistribution(1, 2);
 | 
			
		||||
        $m3s4 = new GaussianDistribution(3, 4);
 | 
			
		||||
        $lrn = GaussianDistribution::logRatioNormalization($m1s2, $m3s4);
 | 
			
		||||
        $lrn  = GaussianDistribution::logRatioNormalization($m1s2, $m3s4);
 | 
			
		||||
        $this->assertEqualsWithDelta(2.6157405972171204, $lrn, GaussianDistributionTest::ERROR_TOLERANCE);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -101,7 +103,7 @@ class GaussianDistributionTest extends TestCase
 | 
			
		||||
    {
 | 
			
		||||
        // Verified with Ralf Herbrich's F# implementation
 | 
			
		||||
        $standardNormal = new GaussianDistribution(0, 1);
 | 
			
		||||
        $absDiff = GaussianDistribution::absoluteDifference($standardNormal, $standardNormal);
 | 
			
		||||
        $absDiff        = GaussianDistribution::absoluteDifference($standardNormal, $standardNormal);
 | 
			
		||||
        $this->assertEqualsWithDelta(0.0, $absDiff, GaussianDistributionTest::ERROR_TOLERANCE);
 | 
			
		||||
 | 
			
		||||
        $m1s2 = new GaussianDistribution(1, 2);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
<?php declare(strict_types=1);
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace DNW\Skills\Tests\Numerics;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
<?php declare(strict_types=1);
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace DNW\Skills\Tests\Numerics;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
<?php declare(strict_types=1);
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace DNW\Skills\Tests;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,7 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace DNW\Skills\Tests;
 | 
			
		||||
 | 
			
		||||
use DNW\Skills\RankSorter;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,7 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace DNW\Skills\Tests;
 | 
			
		||||
 | 
			
		||||
use DNW\Skills\Rating;
 | 
			
		||||
@@ -18,11 +20,11 @@ class RatingTest extends TestCase
 | 
			
		||||
 | 
			
		||||
    public function testPartialUpdate(): void
 | 
			
		||||
    {
 | 
			
		||||
        $rating = new Rating(100, 10, 5);
 | 
			
		||||
        $rating_prior = new Rating(100, 10, 5);
 | 
			
		||||
        $rating_new = new Rating(200, 10, 5);
 | 
			
		||||
        $rating    = new Rating(100, 10, 5);
 | 
			
		||||
        $ratingOld = new Rating(100, 10, 5);
 | 
			
		||||
        $ratingNew = new Rating(200, 10, 5);
 | 
			
		||||
 | 
			
		||||
        $rating_partial = $rating ->getPartialUpdate($rating_prior, $rating_new, 0.5);
 | 
			
		||||
        $rating_partial = $rating->getPartialUpdate($ratingOld, $ratingNew, 0.5);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        $this->assertEquals(150, $rating_partial->getMean());
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
<?php declare(strict_types=1);
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace DNW\Skills\Tests\TrueSkill;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
<?php declare(strict_types=1);
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace DNW\Skills\Tests\TrueSkill;
 | 
			
		||||
 | 
			
		||||
@@ -21,6 +23,6 @@ class FactorGraphTeamTrueSkillCalculatorTest extends TestCase
 | 
			
		||||
    public function testMethodisSupported(): void
 | 
			
		||||
    {
 | 
			
		||||
        $calculator = new FactorGraphTrueSkillCalculator();
 | 
			
		||||
        $this->assertEquals(true, $calculator->isSupported(SkillCalculatorSupportedOptions::PARTIAL_PLAY));
 | 
			
		||||
        $this->assertEquals(TRUE, $calculator->isSupported(SkillCalculatorSupportedOptions::PARTIAL_PLAY));
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
<?php declare(strict_types=1);
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace DNW\Skills\Tests\TrueSkill;
 | 
			
		||||
 | 
			
		||||
@@ -25,7 +27,7 @@ class FactorGraphTrueSkillCalculatorTest extends TestCase
 | 
			
		||||
            new Player("hillary"),
 | 
			
		||||
        ];
 | 
			
		||||
 | 
			
		||||
        $teams = array();
 | 
			
		||||
        $teams = [];
 | 
			
		||||
        foreach ($players as $player) {
 | 
			
		||||
            $teams[] = new Team($player, $gameInfo->getDefaultRating());
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
<?php declare(strict_types=1);
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace DNW\Skills\Tests\TrueSkill;
 | 
			
		||||
 | 
			
		||||
@@ -78,8 +80,8 @@ class TrueSkillCalculatorTests
 | 
			
		||||
 | 
			
		||||
    private static function twoPlayerTestNotDrawn(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        $player1 = new Player(1);
 | 
			
		||||
        $player2 = new Player(2);
 | 
			
		||||
        $player1  = new Player(1);
 | 
			
		||||
        $player2  = new Player(2);
 | 
			
		||||
        $gameInfo = new GameInfo();
 | 
			
		||||
 | 
			
		||||
        $team1 = new Team($player1, $gameInfo->getDefaultRating());
 | 
			
		||||
@@ -108,6 +110,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
        $team2 = new Team($player2, $gameInfo->getDefaultRating());
 | 
			
		||||
 | 
			
		||||
        $teams = Teams::concat($team1, $team2);
 | 
			
		||||
 | 
			
		||||
        $newRatings = $calculator->calculateNewRatings($gameInfo, $teams, [1, 1]);
 | 
			
		||||
 | 
			
		||||
        $player1NewRating = $newRatings->getRating($player1);
 | 
			
		||||
@@ -122,8 +125,8 @@ class TrueSkillCalculatorTests
 | 
			
		||||
    private static function twoPlayerChessTestNotDrawn(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        // Inspired by a real bug :-)
 | 
			
		||||
        $player1 = new Player(1);
 | 
			
		||||
        $player2 = new Player(2);
 | 
			
		||||
        $player1  = new Player(1);
 | 
			
		||||
        $player2  = new Player(2);
 | 
			
		||||
        $gameInfo = new GameInfo(1200.0, 1200.0 / 3.0, 200.0, 1200.0 / 300.0, 0.03);
 | 
			
		||||
 | 
			
		||||
        $team1 = new Team($player1, new Rating(1301.0007, 42.9232));
 | 
			
		||||
@@ -169,11 +172,9 @@ class TrueSkillCalculatorTests
 | 
			
		||||
 | 
			
		||||
    private static function oneOnTwoSimpleTest(TestCase $testClass, SkillCalculator $calculator): void
 | 
			
		||||
    {
 | 
			
		||||
        $player1 = new Player(1);
 | 
			
		||||
 | 
			
		||||
        $player1  = new Player(1);
 | 
			
		||||
        $gameInfo = new GameInfo();
 | 
			
		||||
 | 
			
		||||
        $team1 = new Team();
 | 
			
		||||
        $team1    = new Team();
 | 
			
		||||
        $team1->addPlayer($player1, $gameInfo->getDefaultRating());
 | 
			
		||||
 | 
			
		||||
        $player2 = new Player(2);
 | 
			
		||||
@@ -975,7 +976,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
    {
 | 
			
		||||
        $gameInfo = new GameInfo();
 | 
			
		||||
 | 
			
		||||
        $p1 = new Player(1);
 | 
			
		||||
        $p1    = new Player(1);
 | 
			
		||||
        $team1 = new Team($p1, $gameInfo->getDefaultRating());
 | 
			
		||||
 | 
			
		||||
        $p2 = new Player(2, 0.0);
 | 
			
		||||
@@ -985,7 +986,7 @@ class TrueSkillCalculatorTests
 | 
			
		||||
        $team2->addPlayer($p2, $gameInfo->getDefaultRating());
 | 
			
		||||
        $team2->addPlayer($p3, $gameInfo->getDefaultRating());
 | 
			
		||||
 | 
			
		||||
        $teams = Teams::concat($team1, $team2);
 | 
			
		||||
        $teams      = Teams::concat($team1, $team2);
 | 
			
		||||
        $newRatings = $calculator->calculateNewRatings($gameInfo, $teams, [1, 2]);
 | 
			
		||||
 | 
			
		||||
        $p1NewRating = $newRatings->getRating($p1);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
<?php declare(strict_types=1);
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace DNW\Skills\Tests\TrueSkill;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,6 @@
 | 
			
		||||
<?php declare(strict_types=1);
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace DNW\Skills\Tests\TrueSkill;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user