diff --git a/tests/TrueSkill/TruncatedGaussianCorrectionFunctionsTest.php b/tests/TrueSkill/TruncatedGaussianCorrectionFunctionsTest.php new file mode 100644 index 0000000..7a82775 --- /dev/null +++ b/tests/TrueSkill/TruncatedGaussianCorrectionFunctionsTest.php @@ -0,0 +1,52 @@ +assertEqualsWithDelta($want, TruncatedGaussianCorrectionFunctions::vExceedsMargin($tVar, $eps), 1e-6); + } + + public function testWGreaterThan(): void { + // Test values taken from Ralf Herbrich's F# TrueSkill implementation + $want = 0.4619049929317120; + $tVar = 0.7495591915280050; + $eps = 0.0631282276750071; + $this->assertEqualsWithDelta($want, TruncatedGaussianCorrectionFunctions::wExceedsMargin($tVar, $eps), 1e-6); + } + + public function testVWithin(): void { + // Test values taken from Ralf Herbrich's F# TrueSkill implementation + $want = -0.7485644072749330; + $tVar = 0.7495591915280050; + $eps = 0.0631282276750071; + $this->assertEqualsWithDelta($want, TruncatedGaussianCorrectionFunctions::vWithinMargin($tVar, $eps), 1e-6); + } + + public function testWWithin(): void { + // Test values taken from Ralf Herbrich's F# TrueSkill implementation + $want = 0.9986734210033660; + $tVar = 0.7495591915280050; + $eps = 0.0631282276750071; + $this->assertEqualsWithDelta($want, TruncatedGaussianCorrectionFunctions::wWithinMargin($tVar, $eps), 1e-6); + } +}