IntegerAttribute
- class dtaianomaly.type_validation.IntegerAttribute(minimum: int = None, maximum: int = None)[source]
Validator for integers.
Check wether a given value is a valid int. By default, any int is valid, but it is also possible to put an upper- and lower-bound on the valid range of floats.
- Parameters:
- minimumint, default=None
The minimum value a given int can have. If
None, there is no lower-bound.- maximumint, default=None
The maximum value a given int can have. If
None, there is no upper-bound.
Examples
>>> from dtaianomaly.type_validation import IntegerAttribute >>> an_int = IntegerAttribute(minimum=0) >>> an_int.raise_error_if_invalid(0, "my_attribute", "MyClass") # No error >>> an_int.raise_error_if_invalid(42, "my_attribute", "MyClass") # No error >>> an_int.raise_error_if_invalid("not-an-int", "my_attribute", "MyClass") Traceback (most recent call last): ... TypeError: Attribute 'my_attribute' in class 'MyClass' must be of type int, but received 'not-an-int' of type <class 'str'>! >>> an_int.raise_error_if_invalid(-1, "my_attribute", "MyClass") Traceback (most recent call last): ... ValueError: Attribute 'my_attribute' in class 'MyClass' must be greater than or equal to 0, but received '-1'!
- raise_error_if_invalid(value, name: str, class_name: str) None
Raise an error if the given value is invalid.
Check if the type and the exact value are permitted, according to the rules of this attribute validation. If either the type or the value is invalid, an error is raised accordingly. Otherwise, nothing happens.
- Parameters:
- valueany
The value to verify.
- namestr
The name of the attribute that is being checked. Used for generating clear error messages, if needed.
- class_namestr
The name of the class to which the attribute belongs. Used for generating clear error messages, if needed.
- Raises:
- TypeError
If the type of the given value is invalid according to the rules of this BaseAttributeValidation.
- ValueError
If the value of the given value is invalid according to the rules of this BaseAttributeValidation.