Files
Reseaux-de-neurones-artific…/tests/Unit/Training/TrainingTestCase.php
Matthias Guillitte 2f4db07918
All checks were successful
linter / quality (push) Successful in 6m16s
tests / ci (8.4) (push) Successful in 4m10s
tests / ci (8.5) (push) Successful in 4m29s
MonoLayer Perceptron
2026-04-04 16:45:04 +02:00

24 lines
945 B
PHP

<?php
namespace Tests\Unit\Training;
use App\Models\NetworksTraining\NetworkTraining;
use Tests\TestCase;
class TrainingTestCase extends TestCase
{
public const DEFAULT_MARGIN_OF_ERROR = 0.001;
public function verifyTrainingResults(NetworkTraining $training, array $expectedWeights, int $expectedEpochs, float $marginOfError = self::DEFAULT_MARGIN_OF_ERROR): void
{
$training->start();
// Assert that the final synaptic weights are as expected withing the margin of error
$finalWeights = $training->getSynapticWeights();
$this->assertEqualsWithDelta($expectedWeights, $finalWeights, $marginOfError, "Final synaptic weights do not match expected values.");
// Assert that the number of epochs taken is as expected
$this->assertEquals($expectedEpochs, $training->getEpoch(), "Expected training to take $expectedEpochs epochs, but it took {$training->getEpoch()} epochs.");
}
}