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(options: Vec<T>) -> Self
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 or(self, other: T) -> Self
Add other
as an additional alternate strategy.
Trait Implementations
impl<T: Clone + Strategy> Clone for Union<T>
[src]
fn clone(&self) -> Union<T>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
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) -> Result<Self::Value, String>
Generate a new value tree from the given runner. Read more
fn prop_map<O: Debug, F: Fn(<Self::Value as ValueTree>::Value) -> O>(
self,
fun: F
) -> Map<Self, F> where
Self: Sized,
self,
fun: F
) -> Map<Self, F> where
Self: Sized,
Returns a strategy which produces values transformed by the function fun
. Read more
fn prop_filter<F: Fn(&<Self::Value as ValueTree>::Value) -> bool>(
self,
whence: String,
fun: F
) -> Filter<Self, F> where
Self: Sized,
self,
whence: String,
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,
Self: Sized,
Returns a strategy which picks uniformly from self
and other
. Read more
fn boxed(self) -> BoxedStrategy<<Self::Value as ValueTree>::Value> where
Self: Sized + 'static,
Self: Sized + '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,
Self: Sized,
Wraps this strategy to prevent values from being subject to shrinking. Read more