Diagnosevariablen bedarfsgesteuert anlegen
Tests / test (push) Successful in 43s

This commit is contained in:
dh
2026-09-17 08:54:17 +00:00
parent 4514ccb557
commit 9e6a675b25
5 changed files with 183 additions and 73 deletions
+4 -13
View File
@@ -25,16 +25,7 @@ final class VerbraucherBasisTraitTest extends TestCase
],
array_keys($modul->properties)
);
self::assertSame(
[
'Aktiv',
'Istleistung',
'Sollleistung',
'Stoerung',
'Stoertext',
],
array_keys($modul->variablen)
);
self::assertSame(['Aktiv'], array_keys($modul->variablen));
self::assertSame(['Aktiv'], $modul->aktionen);
$modul->registriereDiagnose();
@@ -42,13 +33,13 @@ final class VerbraucherBasisTraitTest extends TestCase
[
'Aktiv',
'Istleistung',
'Sollleistung',
'Stoerung',
'Stoertext',
'Leistungsquelle',
'Sollleistung',
'SollwertGueltig',
'Verfuegbar',
'AenderungMoeglich',
'Stoerung',
'Stoertext',
],
array_keys($modul->variablen)
);
+19 -2
View File
@@ -55,14 +55,18 @@ final class WarmwassererwaermerModulstrukturTest extends TestCase
self::assertStringNotContainsString("RegisterPropertyInteger('ManagerID'", $inhalt);
}
public function testZehnDiagnosevariablenWerdenBedarfsgesteuertAngelegtUndGeloescht(): void
public function testSechzehnDiagnosevariablenWerdenBedarfsgesteuertAngelegtUndGeloescht(): void
{
$inhalt = (string) file_get_contents(self::MODULPFAD . 'module.php');
preg_match('/private const DIAGNOSE_VARIABLEN = \[(.*?)\];/s', $inhalt, $treffer);
self::assertArrayHasKey(1, $treffer);
preg_match_all('/\'([^\']+)\'/', $treffer[1], $variablen);
self::assertCount(10, $variablen[1]);
self::assertCount(16, $variablen[1]);
foreach (['Istleistung', 'Sollleistung', 'Stoerung', 'Stoertext', 'AktiveStufe', 'BezogeneEnergie'] as $ident) {
self::assertContains($ident, $variablen[1]);
self::assertStringContainsString("Zustand" . $ident, $inhalt);
}
self::assertStringContainsString("ReadPropertyBoolean('DiagnosevariablenAnzeigen')", $inhalt);
self::assertStringContainsString('registriereVerbraucherDiagnose', $inhalt);
self::assertStringContainsString('UnregisterVariable($ident)', $inhalt);
@@ -70,6 +74,19 @@ final class WarmwassererwaermerModulstrukturTest extends TestCase
self::assertStringNotContainsString("case 'LogStatus':", $inhalt);
}
public function testLegionellentemperaturWirdNurBeiAktiverFunktionAngelegt(): void
{
$inhalt = (string) file_get_contents(self::MODULPFAD . 'module.php');
self::assertStringContainsString("ReadPropertyBoolean('LegionellenfunktionAktiv')", $inhalt);
self::assertStringContainsString(
"RegisterVariableFloat('Legionellentemperatur'",
$inhalt
);
self::assertStringContainsString("UnregisterVariable('Legionellentemperatur')", $inhalt);
self::assertStringContainsString("ZustandLegionellentemperatur", $inhalt);
}
public function testFormularIstWieGewuenschtGegliedertUndHatKeineAktionsknoepfe(): void
{
$formular = json_decode(