fix(energy-pie): represent indeterminate shares and preserve prepared styling
Tests / test (push) Successful in 50s

This commit is contained in:
dh
2026-10-06 17:40:42 +00:00
parent c5f924bd19
commit 5b6125d086
10 changed files with 241 additions and 27 deletions
+24
View File
@@ -127,4 +127,28 @@ final class EnergiediagrammTest extends TestCase
EnergyChartCalculator::normalizeColor('-1', '#22a06b')
);
}
public function testMixedMeasurementBoundariesKeepTotalsWithoutInventingShares(): void
{
$values = EnergyChartCalculator::metrics(10.0, 0.0, 10.0, 5.0, false);
self::assertSame(10.0, $values['Produktion']);
self::assertSame(0.0, $values['Einspeisung']);
self::assertSame(10.0, $values['Netzbezug']);
self::assertSame(5.0, $values['Hausverbrauch']);
self::assertNull($values['Eigenverbrauch']);
self::assertNull($values['Eigenverbrauchsquote']);
self::assertNull($values['Autarkiegrad']);
}
public function testUnavailableSharesRemainNullWithZeroEnergy(): void
{
$unavailable = EnergyChartCalculator::metrics(0.0, 0.0, 0.0, null, false);
self::assertNull($unavailable['Eigenverbrauchsquote']);
self::assertNull($unavailable['Autarkiegrad']);
$available = EnergyChartCalculator::metrics(0.0, 0.0, 0.0);
self::assertSame(0.0, $available['Eigenverbrauchsquote']);
self::assertSame(0.0, $available['Autarkiegrad']);
}
}