pytest_test_categories.distribution.stats¶
Test distribution statistics.
Attributes¶
Classes¶
Valid range for a test size distribution percentage. |
|
Test distribution statistics. |
|
Count of tests by size. |
|
Distribution percentages of tests by size. |
Module Contents¶
- class pytest_test_categories.distribution.stats.DistributionRange(/, **data)[source]¶
Bases:
pydantic.BaseModelValid range for a test size distribution percentage.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- Parameters:
data (Any)
- class pytest_test_categories.distribution.stats.DistributionStats(/, **data)[source]¶
Bases:
pydantic.BaseModelTest distribution statistics.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- Parameters:
data (Any)
- classmethod update_counts(counts)[source]¶
Return a new instance with updated counts.
- Parameters:
counts (collections.abc.Mapping[pytest_test_categories.types.TestSize, int] | TestCounts)
- Return type:
- validate_distribution(config=None)[source]¶
Validate test distribution against target ranges.
- Parameters:
config (pytest_test_categories.distribution.config.DistributionConfig | None) – Optional DistributionConfig with custom targets and tolerances. If not provided, uses DEFAULT_DISTRIBUTION_CONFIG.
- Raises:
ValueError – If the distribution is outside the configured target ranges.
- Return type:
None
- counts: TestCounts = None[source]¶
- class pytest_test_categories.distribution.stats.TestCounts(/, **data)[source]¶
Bases:
pydantic.BaseModelCount of tests by size.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- Parameters:
data (Any)
- class pytest_test_categories.distribution.stats.TestPercentages(/, **data)[source]¶
Bases:
pydantic.BaseModelDistribution percentages of tests by size.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- Parameters:
data (Any)
- validate_total()[source]¶
Validate that percentages sum to 100% unless all are 0.
- Returns:
The validated TestPercentages instance.
- Raises:
ValueError – If percentages don’t sum to 100% (within rounding tolerance).
- Return type: