shrink package:hedgehog

Apply a shrinking function to a generator. This will give the generator additional shrinking options, while keeping the existing shrinks intact.
Compress a ShrinkPath into a hopefully-short alphanumeric string. We encode the path components in base 26, alternating between uppercase and lowercase alphabets to distinguish list elements. Additionally when we have runs of equal components, we use the normal base 10 encoding to indicate the length.
Decompress a ShrinkPath. This satisfies
shrinkPathDecompress (shrinkPathCompress a) == Just a
The number of shrinks to try before giving up on shrinking. Can be constructed using numeric literals:
1000 :: ShrinkLimit
The number of times to re-run a test during shrinking. This is useful if you are testing something which fails non-deterministically and you want to increase the change of getting a good shrink. If you are doing parallel state machine testing, you should probably set shrink retries to something like 10. This will mean that during shrinking, a parallel test case requires 10 successful runs before it is passes and we try a different shrink. Can be constructed using numeric literals:
0 :: ShrinkRetries
The numbers of times a property was able to shrink after a failing test.
The number of shrinks to try before giving up on shrinking. Can be constructed using numeric literals:
1000 :: ShrinkLimit
The path taken to reach a shrink state.
The number of times to re-run a test during shrinking. This is useful if you are testing something which fails non-deterministically and you want to increase the change of getting a good shrink. If you are doing parallel state machine testing, you should probably set shrink retries to something like 10. This will mean that during shrinking, a parallel test case requires 10 successful runs before it is passes and we try a different shrink. Can be constructed using numeric literals:
0 :: ShrinkRetries
Set the number of times a property is allowed to shrink before the test runner gives up and prints the counterexample.
Skip to a specific test number and shrink state. If it fails, stop without shrinking further. If it passes, the property will pass without running any more tests. Due to implementation details, all intermediate shrink states - those on the direct path from the original test input to the target state - will be tested too, and their results discarded.