This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Belevo\EnelixUtils\Tests;
|
||||
|
||||
use Belevo\EnelixUtils\VGTRegler;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
require_once __DIR__ . '/../VGTSchnittstelle/libs/VGTRegler.php';
|
||||
|
||||
final class VGTReglerTest extends TestCase
|
||||
{
|
||||
public function testPVActivateUndStopBleibenKompatibel(): void
|
||||
{
|
||||
self::assertSame(
|
||||
4000.0,
|
||||
VGTRegler::zielwert(0, 'activate', 4000.0, 10000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 100.0)
|
||||
);
|
||||
self::assertSame(
|
||||
10000.0,
|
||||
VGTRegler::zielwert(0, 'stop', 4000.0, 10000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 100.0)
|
||||
);
|
||||
}
|
||||
|
||||
public function testBatterieActivateInvertiertDenSetpointWieEnelixEins(): void
|
||||
{
|
||||
self::assertSame(
|
||||
-3500.0,
|
||||
VGTRegler::zielwert(1, 'activate', 3500.0, 10000.0, 50.0, 50.0, 2500.0, 2500.0, 10.0, 90.0)
|
||||
);
|
||||
}
|
||||
|
||||
public function testRestoreRegeltAufZielLadezustand(): void
|
||||
{
|
||||
self::assertSame(
|
||||
2500.0,
|
||||
VGTRegler::zielwert(1, 'restore', 0.0, 10000.0, 40.0, 50.0, 2500.0, 3000.0, 10.0, 90.0)
|
||||
);
|
||||
self::assertSame(
|
||||
-3000.0,
|
||||
VGTRegler::zielwert(1, 'restore', 0.0, 10000.0, 60.0, 50.0, 2500.0, 3000.0, 10.0, 90.0)
|
||||
);
|
||||
}
|
||||
|
||||
public function testLadezustandsgrenzenStoppenFalscheRichtung(): void
|
||||
{
|
||||
self::assertSame(
|
||||
0.0,
|
||||
VGTRegler::zielwert(1, 'activate', 3000.0, 10000.0, 10.0, 50.0, 2500.0, 2500.0, 10.0, 90.0)
|
||||
);
|
||||
}
|
||||
|
||||
public function testFesteMQTTSchnittstelleBleibtImModulErhalten(): void
|
||||
{
|
||||
$modul = file_get_contents(
|
||||
__DIR__ . '/../VGTSchnittstelle/module.php'
|
||||
);
|
||||
self::assertNotFalse($modul);
|
||||
foreach ([
|
||||
'feedback-request/',
|
||||
'feedback-response/',
|
||||
'remote-control-request/',
|
||||
'remote-control-response/',
|
||||
"'power_setpoint'",
|
||||
"'strategy'",
|
||||
"'power_production'",
|
||||
"'is_ready'",
|
||||
"'is_running'",
|
||||
"'state_of_charge'",
|
||||
"'min_soc'",
|
||||
"'max_soc'",
|
||||
] as $bestandteil) {
|
||||
self::assertStringContainsString($bestandteil, $modul);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user