You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
Concepts that declare generate can carry validation rules: the compiler proves each rule against the generation strategy, binds a proven rule silently, reports a rule the strategy can break as PLAY0688 with an example value that breaks it, and reports a rule it cannot decide as a PLAY0689 warning with the reason (part of #616)
Length, not empty, equal, not equal and matches rules are decided exactly for the regular-expression subset described in the generated-values documentation; matches is proven only for patterns a backtracking regex engine matches without ambiguity, so a proven rule never times out on a generated value (part of #616)
Generated and specification fixtures are checked against their concept's rules as well as the strategy's shape; a fixture that breaks a rule is a contract violation (part of #616)
A repair replaces a refuted rule with the matches pattern derived from the strategy (part of #616)
Executable model version 20 carries rules on generated concepts; models without them keep their version, bytes and outcomes (part of #616)
Changed
PLAY0268 no longer refuses rules on generated concepts (part of #616)
The generated-values documentation follows one shop example through strategies, choosing a strategy, rule consistency and when not to generate (part of #616)