Verbrauchermodule und betriebsartabhängige Angebote ergänzen
Tests / test (push) Successful in 42s

This commit is contained in:
dh
2026-09-21 18:46:17 +00:00
parent 7b6d1b2f07
commit 3c71626b5f
46 changed files with 4513 additions and 311 deletions
@@ -16,23 +16,43 @@ final class EinStufigReglerTest extends TestCase
{
self::assertSame(
[0, 3500],
EinStufigRegler::leistungsangebot(3500, 0, true, true, false)
EinStufigRegler::leistungsangebot(3500, 0, true, true, false, false)
);
}
public function testGesperrtesOderErzwungenesAngebotEnthaeltNurIstleistung(): void
public function testPeakbetriebBietetBeiFreierSchaltungNurAus(): void
{
self::assertSame(
[0],
EinStufigRegler::leistungsangebot(3500, 0, true, true, false, true)
);
}
public function testTechnischGesperrtesAngebotEnthaeltNurIstleistung(): void
{
self::assertSame(
[3500],
EinStufigRegler::leistungsangebot(3500, 3500, true, false, false)
);
self::assertSame(
[0],
EinStufigRegler::leistungsangebot(3500, 0, true, true, true)
EinStufigRegler::leistungsangebot(3500, 3500, true, false, false, true)
);
self::assertSame(
[3500],
EinStufigRegler::leistungsangebot(3500, 3500, false, true, false)
EinStufigRegler::leistungsangebot(3500, 3500, false, true, false, true)
);
}
public function testPeakSperreBeiMindestlaufzeitIstKonfigurierbar(): void
{
self::assertSame(
[0, 3500],
EinStufigRegler::leistungsangebot(3500, 0, true, true, true, true, true)
);
self::assertSame(
[3500],
EinStufigRegler::leistungsangebot(3500, 0, true, true, true, true, false)
);
self::assertSame(
[3500],
EinStufigRegler::leistungsangebot(3500, 0, true, true, true, false, true)
);
}
@@ -40,7 +60,7 @@ final class EinStufigReglerTest extends TestCase
{
$this->expectException(InvalidArgumentException::class);
EinStufigRegler::leistungsangebot(3500, 1200, true, true, false);
EinStufigRegler::leistungsangebot(3500, 1200, true, true, false, false);
}
public function testFreigabeVerwendetZustandsabhaengigeMindestdauer(): void
@@ -65,6 +65,7 @@ final class VerbraucherEinStufigModulstrukturTest extends TestCase
'SchaltkontaktInvertiert',
'RueckmeldungVariableID',
'Mindestlaufzeit',
'PeakSperreBeiMindestlaufzeitAnbieten',
'Mindesteinschaltdauer',
'Mindestausschaltdauer',
'DiagnosevariablenAnzeigen',
@@ -130,7 +131,7 @@ final class VerbraucherEinStufigModulstrukturTest extends TestCase
);
}
public function testModulVerwendetAusschliesslichDenVertrag30(): void
public function testModulVerwendetVertrag40UndBetriebsartabhaengigesAngebot(): void
{
$modul = (string) file_get_contents(self::MODULPFAD . 'module.php');
@@ -138,6 +139,9 @@ final class VerbraucherEinStufigModulstrukturTest extends TestCase
self::assertStringContainsString('ManagerdatenEmpfangen(array $daten)', $modul);
self::assertStringContainsString('Nachrichtenvertrag::pruefeManagerdaten', $modul);
self::assertStringContainsString('Nachrichtenvertrag::pruefeVerbraucherdaten', $modul);
self::assertStringContainsString("['Betriebsart']", $modul);
self::assertStringContainsString('BETRIEBSART_PEAK', $modul);
self::assertStringContainsString("'Betriebsart' =>", $modul);
self::assertStringNotContainsString("RegisterVariableString('PowerSteps'", $modul);
self::assertStringNotContainsString("RegisterPropertyInteger('ManagerID'", $modul);
}