valid8r.testing.generators
Generators for test cases and test input data.
Attributes
Functions
|
Generate test cases for a validator. |
|
Generate random inputs that include both valid and invalid cases. |
|
Test a composed validator with various inputs to verify it works correctly. |
Module Contents
- valid8r.testing.generators.generate_test_cases(validator)[source]
Generate test cases for a validator.
This function analyzes the validator and generates appropriate test cases that should pass and fail the validation.
- Parameters:
validator (valid8r.core.validators.Validator[T]) – The validator to generate test cases for
- Returns:
A dictionary with ‘valid’ and ‘invalid’ lists of test cases
- Return type:
Examples
>>> from valid8r.core.validators import minimum >>> test_cases = generate_test_cases(minimum(10)) >>> test_cases {'valid': [10, 11, 15, 20, 100], 'invalid': [9, 5, 0, -10]}
- valid8r.testing.generators.generate_random_inputs(validator, count=20, range_min=-100, range_max=100)[source]
Generate random inputs that include both valid and invalid cases.
- Parameters:
validator (valid8r.core.validators.Validator[T]) – The validator to test against
count (int) – Number of inputs to generate
range_min (int) – Minimum value for generated integers
range_max (int) – Maximum value for generated integers
- Returns:
A list of random integers
- Return type:
list[T]
Examples
>>> from valid8r.core.validators import minimum >>> inputs = generate_random_inputs(minimum(0), count=10) >>> len(inputs) 10
- valid8r.testing.generators.test_validator_composition(validator)[source]
Test a composed validator with various inputs to verify it works correctly.
- Parameters:
validator (valid8r.core.validators.Validator[T]) – The composed validator to test
- Returns:
True if the validator behaves as expected, False otherwise
- Return type:
Examples
>>> from valid8r.core.validators import minimum, maximum >>> is_valid_age = minimum(0) & maximum(120) >>> test_validator_composition(is_valid_age) True