Struct proptest::strategy::Union
[−]
[src]
pub struct Union<T: Strategy> { /* fields omitted */ }
A Strategy
which picks from one of several delegate Stragegy
s.
See Strategy::prop_union()
.
Methods
impl<T: Strategy> Union<T>
[src]
fn new<I: IntoIterator<Item = T>>(options: I) -> Self
[src]
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.
fn new_weighted(options: Vec<W<T>>) -> Self
[src]
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
.
fn or(self, other: T) -> Self
[src]
Add other
as an additional alternate strategy with weight 1.
Trait Implementations
impl<T: Clone + Strategy> Clone for Union<T>
[src]
fn clone(&self) -> Union<T>
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<T: Debug + Strategy> Debug for Union<T>
[src]
impl<T: Strategy> Strategy for Union<T>
[src]
type Value = UnionValueTree<T::Value>
The value tree generated by this Strategy
. Read more
fn new_value(&self, runner: &mut TestRunner) -> NewTree<Self>
[src]
Generate a new value tree from the given runner. Read more
fn prop_map<O: Debug, F: Fn(ValueFor<Self>) -> O>(self, fun: F) -> Map<Self, F> where
Self: Sized,
[src]
Self: Sized,
Returns a strategy which produces values transformed by the function fun
. Read more
fn prop_map_into<O: Debug>(self) -> MapInto<Self, O> where
Self: Sized,
ValueFor<Self>: Into<O>,
[src]
Self: Sized,
ValueFor<Self>: Into<O>,
Returns a strategy which produces values of type O
by transforming Self
with Into<O>
. Read more
fn prop_perturb<O: Debug, F: Fn(ValueFor<Self>, XorShiftRng) -> O>(
self,
fun: F
) -> Perturb<Self, F> where
Self: Sized,
[src]
self,
fun: F
) -> Perturb<Self, F> where
Self: Sized,
Returns a strategy which produces values transformed by the function fun
, which is additionally given a random number generator. Read more
fn prop_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> Flatten<Map<Self, F>> where
Self: Sized,
[src]
self,
fun: F
) -> Flatten<Map<Self, F>> where
Self: Sized,
Maps values produced by this strategy into new strategies and picks values from those strategies. Read more
fn prop_ind_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> IndFlatten<Map<Self, F>> where
Self: Sized,
[src]
self,
fun: F
) -> IndFlatten<Map<Self, F>> where
Self: Sized,
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
fn prop_ind_flat_map2<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> IndFlattenMap<Self, F> where
Self: Sized,
[src]
self,
fun: F
) -> IndFlattenMap<Self, F> where
Self: Sized,
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
fn prop_filter<R: Into<Reason>, F: Fn(&ValueFor<Self>) -> bool>(
self,
whence: R,
fun: F
) -> Filter<Self, F> where
Self: Sized,
[src]
self,
whence: R,
fun: F
) -> Filter<Self, F> where
Self: Sized,
Returns a strategy which only produces values accepted by fun
. Read more
fn prop_union(self, other: Self) -> Union<Self> where
Self: Sized,
[src]
Self: Sized,
Returns a strategy which picks uniformly from self
and other
. Read more
fn prop_recursive<R, F>(
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<BoxedStrategy<ValueFor<Self>>, F> where
Self: Sized + 'static,
F: Fn(Arc<BoxedStrategy<ValueFor<Self>>>) -> R,
R: Strategy + 'static,
R::Value: ValueTree<Value = ValueFor<Self>>,
[src]
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<BoxedStrategy<ValueFor<Self>>, F> where
Self: Sized + 'static,
F: Fn(Arc<BoxedStrategy<ValueFor<Self>>>) -> R,
R: Strategy + 'static,
R::Value: ValueTree<Value = ValueFor<Self>>,
Generate a recursive structure with self
items as leaves. Read more
fn prop_shuffle(self) -> Shuffle<Self> where
Self: Sized,
ValueFor<Self>: Shuffleable,
[src]
Self: Sized,
ValueFor<Self>: Shuffleable,
Shuffle the contents of the values produced by this strategy. Read more
fn boxed(self) -> BoxedStrategy<ValueFor<Self>> where
Self: Sized + 'static,
[src]
Self: Sized + 'static,
Erases the type of this Strategy
so it can be passed around as a simple trait object. Read more
fn sboxed(self) -> SBoxedStrategy<ValueFor<Self>> where
Self: Sized + Send + Sync + 'static,
[src]
Self: Sized + Send + Sync + 'static,
Erases the type of this Strategy
so it can be passed around as a simple trait object. Read more
fn no_shrink(self) -> NoShrink<Self> where
Self: Sized,
[src]
Self: Sized,
Wraps this strategy to prevent values from being subject to shrinking. Read more