Property1[T: T]¶
A property that consumes 1 argument of type T
.
A property is defined by a Generator, returned by
the gen()
method, and a
property
method that consumes the
generators' output and verifies a custom property with the help of a
PropertyHelper.
A property is verified if no failed assertion on PropertyHelper has been reported for all the samples it consumed.
The property execution can be customized by returning a custom
PropertyParams from the
params()
method.
The gen()
method is called exactly once to
instantiate the generator.
The generator produces
PropertyParams.num_samples
samples and each is passed to the
property method for verification.
If the property did not verify, the given sample is shrunken if the generator supports shrinking. The smallest shrunken sample will then be reported to the user.
A Property1 can be run with Ponytest. To that end it needs to be wrapped into a Property1UnitTest.
Public Functions¶
name¶
The name of the property used for reporting during execution.
Returns¶
- String val
params¶
Returns parameters to customize execution of this Property.
Returns¶
- PropertyParams val
gen¶
The Generator used to produce samples to verify.
Returns¶
- Generator[T] box
property¶
A method verifying that a certain property holds for all given arg1
with the help of PropertyHelper h
.
Parameters¶
- arg1: T
- h: PropertyHelper val
Returns¶
- None val ?