11from datetime import datetime , timezone
2+ from decimal import Decimal
23
34import pytest
45
56from bo4e import (
6- AufAbschlagRegional ,
7+ EinheitsPreisposition ,
78 Energiemix ,
89 Kundentyp ,
910 Marktteilnehmer ,
11+ Mengeneinheit ,
12+ Operator ,
13+ Preis ,
1014 Preisgarantie ,
15+ Preisreferenz ,
16+ Region ,
17+ Regionskriterium ,
18+ Regionsoperation ,
19+ Regionspreis ,
20+ Regionszeitscheibe ,
1121 Registeranzahl ,
22+ RelativePreisposition ,
1223 Sparte ,
1324 Tarif ,
1425 Tarifberechnungsparameter ,
1526 Tarifeinschraenkung ,
1627 Tarifmerkmal ,
17- TarifpreispositionProOrt ,
28+ Tarifpreiszeitscheibe ,
1829 Tariftyp ,
1930 Vertragskonditionen ,
31+ Waehrungseinheit ,
2032 Zeitraum ,
2133)
2234from tests .serialization_helper import assert_serialization_roundtrip
@@ -28,10 +40,7 @@ class TestTarif:
2840 [
2941 pytest .param (
3042 Tarif (
31- preisstand = datetime (2022 , 2 , 1 , 0 , 0 , 0 , tzinfo = timezone .utc ),
3243 berechnungsparameter = Tarifberechnungsparameter (),
33- tarif_auf_abschlaege = [AufAbschlagRegional ()],
34- tarifpreise = [TarifpreispositionProOrt ()],
3544 preisgarantie = Preisgarantie (),
3645 tarifeinschraenkung = Tarifeinschraenkung (),
3746 # below are the attributes of tarifinfo
@@ -46,8 +55,52 @@ class TestTarif:
4655 bemerkung = "super billig aber auch super dreckig" ,
4756 vertragskonditionen = Vertragskonditionen (),
4857 zeitliche_gueltigkeit = Zeitraum (),
49- energiemix = Energiemix (),
58+ energiemix = [ Energiemix ()] ,
5059 anbieter = Marktteilnehmer (),
60+ regionspreise = [
61+ Regionspreis (
62+ regionszeitscheiben = [
63+ Regionszeitscheibe (
64+ zeitscheibengueltigkeit = Zeitraum (startdatum = datetime (2020 , 1 , 1 )),
65+ region = Region (
66+ bezeichnung = "Deutschland" ,
67+ regionsoperationen = [
68+ Regionsoperation (
69+ regionsoperator = Operator .ADDITION ,
70+ prioritaet = 0 ,
71+ bezeichnung = "Deutschland" ,
72+ regionskriterium = Regionskriterium .BUNDESWEIT ,
73+ )
74+ ],
75+ ),
76+ ),
77+ ],
78+ tarifpreiszeitscheiben = [
79+ Tarifpreiszeitscheibe (
80+ zeitscheibengueltigkeit = Zeitraum (startdatum = datetime (2020 , 1 , 1 )),
81+ einheits_preispositionen = [
82+ EinheitsPreisposition (
83+ id = "12345" ,
84+ bezeichnung = "Arbeitspreis" ,
85+ preisreferenz = Preisreferenz .ENERGIEMENGE ,
86+ preis = Preis (
87+ wert = Decimal ("30" ),
88+ einheit = Waehrungseinheit .CT ,
89+ bezugswert = Mengeneinheit .KWH ,
90+ ),
91+ )
92+ ],
93+ relative_preispositionen = [
94+ RelativePreisposition (
95+ bezeichnung = "5% Rabatt auf Arbeitspreis" ,
96+ id_referenz = "12345" ,
97+ wert = Decimal ("0.95" ),
98+ )
99+ ],
100+ )
101+ ],
102+ )
103+ ],
51104 ),
52105 id = "all attributes" ,
53106 ),
0 commit comments