pub struct Union<T: Strategy> { /* private fields */ }
Expand description

A Strategy which picks from one of several delegate Stragegys.

See Strategy::prop_union().

Implementations

Create a strategy which selects uniformly from the given delegate strategies.

When shrinking, after maximal simplification of the chosen element, the strategy will move to earlier options and continue simplification with those.

Panics

Panics if options is empty.

Create a strategy which selects from the given delegate strategies.

Each strategy is assigned a non-zero weight which determines how frequently that strategy is chosen. For example, a strategy with a weight of 2 will be chosen twice as frequently as one with a weight of 1.

Panics

Panics if options is empty or any element has a weight of 0.

Panics if the sum of the weights overflows a u32.

Add other as an additional alternate strategy with weight 1.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

The value tree generated by this Strategy.

The type of value used by functions under test generated by this Strategy. Read more

Generate a new value tree from the given runner. Read more

Returns a strategy which produces values transformed by the function fun. Read more

Returns a strategy which produces values of type O by transforming Self with Into<O>. Read more

Returns a strategy which produces values transformed by the function fun, which is additionally given a random number generator. Read more

Maps values produced by this strategy into new strategies and picks values from those strategies. Read more

Maps values produced by this strategy into new strategies and picks values from those strategies while considering the new strategies to be independent. Read more

Similar to prop_ind_flat_map(), but produces 2-tuples with the input generated from self in slot 0 and the derived strategy in slot 1. Read more

Returns a strategy which only produces values accepted by fun. Read more

Returns a strategy which only produces transformed values where fun returns Some(value) and rejects those where fun returns None. Read more

Returns a strategy which picks uniformly from self and other. Read more

Generate a recursive structure with self items as leaves. Read more

Shuffle the contents of the values produced by this strategy. Read more

Erases the type of this Strategy so it can be passed around as a simple trait object. Read more

Erases the type of this Strategy so it can be passed around as a simple trait object. Read more

Wraps this strategy to prevent values from being subject to shrinking. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.