0.5.0
Added
Reintroduce core
core module that adds all transitive dependencies necessary for property based testing.
Fuzzer
A new module fuzzer
has been added. It contains an experimental abstraction layer which is meant to be above the
Generator
. (Note that fuzzer-api
is transitively added by evaluator
and core
)
The (existing) Generator is responsible only for generating random value
(without even knowing if it is for testing purposes or not).
A Fuzzer
is specialized for property based testing.
It contains a Generator
, a Simplifier
and a list of guarantees
that must be satisfied at least once during evaluation.
-
A new function
forAny
is provided to run test usingFuzzer
instead ofGenerator
in moduleevaluator
.
In case of property falsification, this function will simplify the input to the simplest input that still falsify the property. -
Simplifier combination
Simplifier.pair(Simplifier, Simplifier)
andSimplier.triple(Simplifier, Simplifier, Simplifier)
Are provided -
Arbitrary
an empty object type that can be used to findFuzzer
factories (regardless of the module they come from) -
Arbitrary.pair
andArbitrary.triple
to combine fuzzers.
Dependencies Updated
- Kotlin (from
1.3.61
to1.3.71
)