Module proptest::arbitrary

source ·
Expand description

Defines the Arbitrary trait and related free functions and type aliases. See the trait for more information.

Modules

Provides higher order Arbitrary traits. This is mainly for use by proptest_derive.

Traits

Arbitrary determines a canonical Strategy for the implementing type.

Functions

Generates a Strategy producing Arbitrary values of A. Unlike arbitrary, it should be used for being explicit on what A is. For clarity, this may be a good idea.
Generates a Strategy producing Arbitrary values of A with the given configuration arguments passed in args. Unlike arbitrary_with, it should be used for being explicit on what A is. For clarity, this may be a good idea.
Generates a Strategy producing Arbitrary values of A. Works better with type inference than any::<A>().
Generates a Strategy producing Arbitrary values of A with the given configuration arguments passed in args. Works better with type inference than any_with::<A>(args).

Type Definitions

A normal map from a strategy of I to O.
ParamsFor allows you to mention the type of Parameters for the input type A without directly using associated types or without resorting to existential types. This way, if implementation of Arbitrary changes, your tests should not break.
A static map from a strategy of I to O.
StrategyFor allows you to mention the type of Strategy for the input type A without directly using associated types or without resorting to existential types. This way, if implementation of Arbitrary changes, your tests should not break. This can be especially beneficial when the type of Strategy that you are dealing with is very long in name (the case with generics).