from kerapu.boom.attribuut.Attribuut import Attribuut
from kerapu.lbz.Subtraject import Subtraject
[documentatie]class Attribuut21(Attribuut):
"""
Klasse voor attributen met toetswijze 2 (tussen) en waarde type 1 (numeriek).
"""
# ------------------------------------------------------------------------------------------------------------------
def __init__(self,
attribuut_id: int,
boom_parameter_nummer: int,
onder_filter_waarde: int,
boven_filter_waarde: int) -> None:
"""
Object constructor.
:param int attribuut_id: Het ID van dit attribuut.
:param int boom_parameter_nummer: Het ID van de boomparameter van dit attribuut.
:param int onder_filter_waarde: De ondergrens.
:param int boven_filter_waarde: De bovengrens.
"""
Attribuut.__init__(self, attribuut_id, boom_parameter_nummer)
self._onder_filter_waarde: int = onder_filter_waarde
"""
De ondergrens om dit attribuut te laten vuren.
"""
self._boven_filter_waarde: int = boven_filter_waarde
"""
De bovengrens om dit attribuut te laten vuren.
"""
# ------------------------------------------------------------------------------------------------------------------
[documentatie] def tel(self, subtraject: Subtraject) -> int:
"""
Geeft het aantal malen dat de boomparameter voldoet aan de voorwaarde van dit attribuut.
:param Subtraject subtraject: Het subtraject.
:rtype: int
"""
aantal = self._boom_parameter.tel(None, subtraject)
if self._onder_filter_waarde <= aantal <= self._boven_filter_waarde:
return 1
return 0
# ----------------------------------------------------------------------------------------------------------------------