"""Test Length.""" # external import pytest # local from validators import ValidationError, length @pytest.mark.parametrize( ("value", "min_val", "max_val"), [("password", 2, None), ("password", None, None), ("password", 0, 10), ("password", 8, 8)], ) def test_returns_true_on_valid_length(value: str, min_val: int, max_val: int): """Test returns true on valid length.""" assert length(value, min_val=min_val, max_val=max_val) @pytest.mark.parametrize( ("value", "min_val", "max_val"), [("something", 14, 12), ("something", -10, -20), ("something", 0, -2), ("something", 13, 14)], ) def test_returns_failed_validation_on_invalid_range(value: str, min_val: int, max_val: int): """Test returns failed validation on invalid range.""" assert isinstance(length(value, min_val=min_val, max_val=max_val), ValidationError)