mirror of
https://github.com/Akkudoktor-EOS/EOS.git
synced 2025-04-19 08:55:15 +00:00
* Add package API documentation generation Add generation of the API documentation for akkudoktoreos and akkudoktoreosserver packages. The API documentation is generated by the Sphinx autosummary extension. Signed-off-by: Bobby Noelte <b0661n0e17e@gmail.com> * Enable Google style source commenting and documentation generation. Enable automatic documentation generation from Google style docstrings in the source. Signed-off-by: Bobby Noelte <b0661n0e17e@gmail.com> * Check Google style source commenting. Check Google style commenting by the appropriate ruff rules. Commenting is _NOT_ enforced. Missing docstrings are ignored. Minor commenting quirks of the code base are adapted. Signed-off-by: Bobby Noelte <b0661n0e17e@gmail.com> * Improve Markdown handling and switch to Markdown documentation. Switch to Markdown for the documentation files to improve the user and developer experience (see issue #181). Keep files with special directives for automatic API documentation in RST format. The directives expect RST. Also add dummy handling for openai/ swagger server documentation. The openai interface definition is for now taken from the fastapi PR as EOS will switch to fastAPI. Signed-off-by: Bobby Noelte <b0661n0e17e@gmail.com> --------- Signed-off-by: Bobby Noelte <b0661n0e17e@gmail.com> Co-authored-by: Normann <github@koldrack.com>
37 lines
1.5 KiB
Python
37 lines
1.5 KiB
Python
import pytest
|
|
|
|
from akkudoktoreos.heatpump import Heatpump
|
|
|
|
|
|
@pytest.fixture(scope="function")
|
|
def hp_5kw_24h() -> Heatpump:
|
|
"""Heatpump with 5 kw heating power and 24 h prediction."""
|
|
return Heatpump(5000, 24)
|
|
|
|
|
|
class TestHeatpump:
|
|
def test_cop(self, hp_5kw_24h: Heatpump):
|
|
"""Testing calculate COP for variouse outside temperatures."""
|
|
assert hp_5kw_24h.calculate_cop(-10) == 2.0
|
|
assert hp_5kw_24h.calculate_cop(0) == 3.0
|
|
assert hp_5kw_24h.calculate_cop(10) == 4.0
|
|
# Check edge case for outside temperature
|
|
out_temp_min = -100.1
|
|
out_temp_max = 100.1
|
|
with pytest.raises(ValueError, match=f"'{out_temp_min}' not in range"):
|
|
hp_5kw_24h.calculate_cop(out_temp_min)
|
|
with pytest.raises(ValueError, match=f"'{out_temp_max}' not in range"):
|
|
hp_5kw_24h.calculate_cop(out_temp_max)
|
|
|
|
def test_heating_output(self, hp_5kw_24h: Heatpump):
|
|
"""Testing calculate of heating output."""
|
|
assert hp_5kw_24h.calculate_heating_output(-10.0) == 5000
|
|
assert hp_5kw_24h.calculate_heating_output(0.0) == 5000
|
|
assert hp_5kw_24h.calculate_heating_output(10.0) == pytest.approx(4939.583)
|
|
|
|
def test_heating_power(self, hp_5kw_24h: Heatpump):
|
|
"""Testing calculation of heating power."""
|
|
assert hp_5kw_24h.calculate_heat_power(-10.0) == 2104
|
|
assert hp_5kw_24h.calculate_heat_power(0.0) == 1164
|
|
assert hp_5kw_24h.calculate_heat_power(10.0) == 548
|