mirror of
https://github.com/Akkudoktor-EOS/EOS.git
synced 2025-09-13 07:21:16 +00:00
Add new electricity price provider: Energy-Charts #381 (#590)
Some checks failed
docker-build / platform-excludes (push) Has been cancelled
pre-commit / pre-commit (push) Has been cancelled
Run Pytest on Pull Request / test (push) Has been cancelled
docker-build / build (push) Has been cancelled
docker-build / merge (push) Has been cancelled
Close stale pull requests/issues / Find Stale issues and PRs (push) Has been cancelled
Some checks failed
docker-build / platform-excludes (push) Has been cancelled
pre-commit / pre-commit (push) Has been cancelled
Run Pytest on Pull Request / test (push) Has been cancelled
docker-build / build (push) Has been cancelled
docker-build / merge (push) Has been cancelled
Close stale pull requests/issues / Find Stale issues and PRs (push) Has been cancelled
* feat(ElecPriceEnergyCharts): Add new electricity price provider: Energy-Charts * feat(ElecPriceEnergyCharts): update data only if needed * test(elecpriceforecast): add test for energycharts * docs(predictions.md): add ElecPriceEnergyCharts Provider Signed-off-by: redmoon2711 <redmoon2711@gmx.de>
This commit is contained in:
@@ -2,6 +2,7 @@ import pytest
|
||||
from pydantic import ValidationError
|
||||
|
||||
from akkudoktoreos.prediction.elecpriceakkudoktor import ElecPriceAkkudoktor
|
||||
from akkudoktoreos.prediction.elecpriceenergycharts import ElecPriceEnergyCharts
|
||||
from akkudoktoreos.prediction.elecpriceimport import ElecPriceImport
|
||||
from akkudoktoreos.prediction.loadakkudoktor import LoadAkkudoktor
|
||||
from akkudoktoreos.prediction.loadimport import LoadImport
|
||||
@@ -28,6 +29,7 @@ def forecast_providers():
|
||||
"""Fixture for singleton forecast provider instances."""
|
||||
return [
|
||||
ElecPriceAkkudoktor(),
|
||||
ElecPriceEnergyCharts(),
|
||||
ElecPriceImport(),
|
||||
LoadAkkudoktor(),
|
||||
LoadImport(),
|
||||
@@ -68,14 +70,15 @@ def test_initialization(prediction, forecast_providers):
|
||||
def test_provider_sequence(prediction):
|
||||
"""Test the provider sequence is maintained in the Prediction instance."""
|
||||
assert isinstance(prediction.providers[0], ElecPriceAkkudoktor)
|
||||
assert isinstance(prediction.providers[1], ElecPriceImport)
|
||||
assert isinstance(prediction.providers[2], LoadAkkudoktor)
|
||||
assert isinstance(prediction.providers[3], LoadImport)
|
||||
assert isinstance(prediction.providers[4], PVForecastAkkudoktor)
|
||||
assert isinstance(prediction.providers[5], PVForecastImport)
|
||||
assert isinstance(prediction.providers[6], WeatherBrightSky)
|
||||
assert isinstance(prediction.providers[7], WeatherClearOutside)
|
||||
assert isinstance(prediction.providers[8], WeatherImport)
|
||||
assert isinstance(prediction.providers[1], ElecPriceEnergyCharts)
|
||||
assert isinstance(prediction.providers[2], ElecPriceImport)
|
||||
assert isinstance(prediction.providers[3], LoadAkkudoktor)
|
||||
assert isinstance(prediction.providers[4], LoadImport)
|
||||
assert isinstance(prediction.providers[5], PVForecastAkkudoktor)
|
||||
assert isinstance(prediction.providers[6], PVForecastImport)
|
||||
assert isinstance(prediction.providers[7], WeatherBrightSky)
|
||||
assert isinstance(prediction.providers[8], WeatherClearOutside)
|
||||
assert isinstance(prediction.providers[9], WeatherImport)
|
||||
|
||||
|
||||
def test_provider_by_id(prediction, forecast_providers):
|
||||
@@ -89,6 +92,7 @@ def test_prediction_repr(prediction):
|
||||
result = repr(prediction)
|
||||
assert "Prediction([" in result
|
||||
assert "ElecPriceAkkudoktor" in result
|
||||
assert "ElecPriceEnergyCharts" in result
|
||||
assert "ElecPriceImport" in result
|
||||
assert "LoadAkkudoktor" in result
|
||||
assert "LoadImport" in result
|
||||
|
Reference in New Issue
Block a user