mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
Check whether plan with EPC goal is compliant 🟪
This commit is contained in:
parent
bf0fce8ca5
commit
857d7e3da1
1 changed files with 13 additions and 12 deletions
|
|
@ -49,23 +49,24 @@ class Plan:
|
|||
@property
|
||||
def is_compliant(self) -> bool:
|
||||
goal: PortfolioGoal = self.scenario.record.goal
|
||||
goal_value: str = self.scenario.record.goal_value
|
||||
|
||||
match goal:
|
||||
case PortfolioGoal.INCREASING_EPC:
|
||||
if self.record.post_epc_rating:
|
||||
post_epc = self.record.post_epc_rating.value
|
||||
elif self.record.post_sap_points:
|
||||
post_epc = sap_to_epc(self.record.post_sap_points)
|
||||
else:
|
||||
return False
|
||||
|
||||
if post_epc <= goal_value:
|
||||
return True
|
||||
|
||||
return False
|
||||
return self._is_compliant_epc()
|
||||
case _:
|
||||
raise NotImplementedError
|
||||
|
||||
def set_default(self, value: bool) -> None:
|
||||
self.record = replace(self.record, is_default=value)
|
||||
|
||||
def _is_compliant_epc(self) -> bool:
|
||||
goal_value: str = self.scenario.record.goal_value
|
||||
|
||||
if self.record.post_epc_rating:
|
||||
post_epc = self.record.post_epc_rating.value
|
||||
elif self.record.post_sap_points:
|
||||
post_epc = sap_to_epc(self.record.post_sap_points)
|
||||
else:
|
||||
return False
|
||||
|
||||
return post_epc <= goal_value
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue