diff --git a/src/bo4e/com/zaehlwerk.py b/src/bo4e/com/zaehlwerk.py index d1ca989ec..6dbb138af 100644 --- a/src/bo4e/com/zaehlwerk.py +++ b/src/bo4e/com/zaehlwerk.py @@ -13,6 +13,7 @@ if TYPE_CHECKING: from ..com.konzessionsabgabe import Konzessionsabgabe + from ..com.messwert import Messwert from ..com.verwendungszweckpromarktrolle import VerwendungszweckProMarktrolle from ..com.zaehlzeitregister import Zaehlzeitregister from ..enum.energierichtung import Energierichtung @@ -82,3 +83,5 @@ class Zaehlwerk(COM): """Anzahl Ablesungen pro Jahr""" zaehlzeitregister: Optional["Zaehlzeitregister"] = None """Erweiterte Definition der Zählzeit in Bezug auf ein Register""" + messwerte: Optional[list["Messwert"]] = None + """Gemessene Werte des Zählwerks""" diff --git a/tests/test_zaehlwerk.py b/tests/test_zaehlwerk.py new file mode 100644 index 000000000..7008a0517 --- /dev/null +++ b/tests/test_zaehlwerk.py @@ -0,0 +1,52 @@ +from decimal import Decimal + +import pytest + +from bo4e import ( + Energierichtung, + Konzessionsabgabe, + Mengeneinheit, + Messwert, + Verbrauchsart, + VerwendungszweckProMarktrolle, + Waermenutzung, + Zaehlwerk, + Zaehlzeitregister, +) +from tests.serialization_helper import assert_serialization_roundtrip + + +class TestZaehlwerk: + @pytest.mark.parametrize( + "zaehlwerk", + [ + pytest.param( + Zaehlwerk( + zaehlwerk_id="zw-id", + bezeichnung="zw-bezeichnung", + richtung=Energierichtung.AUSSP, + obis_kennzahl="1-0:1.8.1", + wandlerfaktor=Decimal(1), + einheit=Mengeneinheit.KWH, + ist_schwachlastfaehig=True, + verwendungszwecke=[VerwendungszweckProMarktrolle()], + verbrauchsart=Verbrauchsart.W, + ist_unterbrechbar=True, + waermenutzung=Waermenutzung.WAERMEPUMPE, + konzessionsabgabe=Konzessionsabgabe(), + ist_steuerbefreit=True, + vorkommastelle=6, + nachkommastelle=3, + ist_abrechnungsrelevant=True, + anzahlAblesungen=42, + zaehlzeitregister=Zaehlzeitregister(), + messwerte=[Messwert()], + ), + ), + ], + ) + def test_serialization_roundtrip(self, zaehlwerk: Zaehlwerk) -> None: + """ + Test de-/serialisation of Zaehler. + """ + assert_serialization_roundtrip(zaehlwerk)