24 lines
951 B
PHP
24 lines
951 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.");
|
|
}
|
|
}
|