fix LimitsType to be actually used and validated
Change-Id: Id0f67e91f4ff57d4c29c33960e736c8c3ae77209 Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33683 Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de> Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
This commit is contained in:
@@ -1244,16 +1244,20 @@ UInt64 = IntRange(0, (1 << 64) - 1)
|
||||
|
||||
# Goodie: Convenience Datatypes for Programming
|
||||
class LimitsType(TupleOf):
|
||||
def __init__(self, members):
|
||||
super().__init__(members, members)
|
||||
def __init__(self, member):
|
||||
super().__init__(member, member)
|
||||
|
||||
def __call__(self, value):
|
||||
def validate(self, value, previous=None):
|
||||
"""accepts an ordered tuple of numeric member types"""
|
||||
limits = TupleOf.validate(self, value)
|
||||
limits = TupleOf.validate(self, value, previous)
|
||||
if limits[1] < limits[0]:
|
||||
raise RangeError(f'Maximum Value {limits[1]} must be greater than minimum value {limits[0]}!')
|
||||
raise RangeError(f'maximum value {limits[1]} must be greater than '
|
||||
f'minimum value {limits[0]}')
|
||||
return limits
|
||||
|
||||
def copy(self):
|
||||
return LimitsType(TupleOf.copy(self).members[0])
|
||||
|
||||
|
||||
class StatusType(TupleOf):
|
||||
"""convenience type for status
|
||||
|
||||
Reference in New Issue
Block a user