PropCheck.shrink
You're seeing just the macro
shrink
, go back to PropCheck module for more information.
Defines the shrinking of a generator.
shrink
creates a type whose instances are generated by evaluating the
statement block generator
(this may evaluate to a type, which will
then be generated recursively). If an instance of such a type is to be
shrunk, the generators in alt_gens
are first run to produce
hopefully simpler instances of the type. Thus, the generators in the
second argument should be simpler than the default. The simplest ones
should be at the front of the list, since those are the generators
preferred by the shrinking subsystem. Like the main generator
, the
alternatives may also evaluate to a type, which is generated recursively.
iex> use PropCheck
iex> quickcheck(
...> forall n <- shrink(pos_integer(), [0]) do
...> rem(n, 2) == 0
...> end)
false