pub struct Union<T>where
    T: Strategy,{ /* private fields */ }Expand description
A Strategy which picks from one of several delegate Strategys.
See Strategy::prop_union().
Implementations§
Source§impl<T> Union<T>where
    T: Strategy,
 
impl<T> Union<T>where
    T: Strategy,
Sourcepub fn new(options: impl IntoIterator<Item = T>) -> Union<T>
 
pub fn new(options: impl IntoIterator<Item = T>) -> Union<T>
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.
Sourcepub fn new_weighted(options: Vec<(u32, T)>) -> Union<T>
 
pub fn new_weighted(options: Vec<(u32, T)>) -> Union<T>
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.
Trait Implementations§
Source§impl<T> Strategy for Union<T>where
    T: Strategy,
 
impl<T> Strategy for Union<T>where
    T: Strategy,
Source§type Tree = UnionValueTree<T>
 
type Tree = UnionValueTree<T>
The value tree generated by this 
Strategy.Source§type Value = <T as Strategy>::Value
 
type Value = <T as Strategy>::Value
The type of value used by functions under test generated by this Strategy. Read more
Source§fn new_tree(
    &self,
    runner: &mut TestRunner,
) -> Result<<Union<T> as Strategy>::Tree, Reason>
 
fn new_tree( &self, runner: &mut TestRunner, ) -> Result<<Union<T> as Strategy>::Tree, Reason>
Generate a new value tree from the given runner. Read more
Source§fn prop_map<O, F>(self, fun: F) -> Map<Self, F>
 
fn prop_map<O, F>(self, fun: F) -> Map<Self, F>
Returns a strategy which produces values transformed by the function
fun. Read moreSource§fn prop_map_into<O>(self) -> MapInto<Self, O>
 
fn prop_map_into<O>(self) -> MapInto<Self, O>
Source§fn prop_perturb<O, F>(self, fun: F) -> Perturb<Self, F>
 
fn prop_perturb<O, F>(self, fun: F) -> Perturb<Self, F>
Returns a strategy which produces values transformed by the function
fun, which is additionally given a random number generator. Read moreSource§fn prop_flat_map<S, F>(self, fun: F) -> Flatten<Map<Self, F>>
 
fn prop_flat_map<S, F>(self, fun: F) -> Flatten<Map<Self, F>>
Maps values produced by this strategy into new strategies and picks
values from those strategies. Read more
Source§fn prop_ind_flat_map<S, F>(self, fun: F) -> IndFlatten<Map<Self, F>>
 
fn prop_ind_flat_map<S, F>(self, fun: F) -> IndFlatten<Map<Self, F>>
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
Source§fn prop_ind_flat_map2<S, F>(self, fun: F) -> IndFlattenMap<Self, F>
 
fn prop_ind_flat_map2<S, F>(self, fun: F) -> IndFlattenMap<Self, F>
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 moreSource§fn prop_filter<R, F>(self, whence: R, fun: F) -> Filter<Self, F>
 
fn prop_filter<R, F>(self, whence: R, fun: F) -> Filter<Self, F>
Returns a strategy which only produces values accepted by 
fun. Read moreSource§fn prop_filter_map<F, O>(
    self,
    whence: impl Into<Reason>,
    fun: F,
) -> FilterMap<Self, F>
 
fn prop_filter_map<F, O>( self, whence: impl Into<Reason>, fun: F, ) -> FilterMap<Self, F>
Returns a strategy which only produces transformed values where 
fun
returns Some(value) and rejects those where fun returns None. Read moreSource§fn prop_union(self, other: Self) -> Union<Self>where
    Self: Sized,
 
fn prop_union(self, other: Self) -> Union<Self>where
    Self: Sized,
Source§fn prop_recursive<R, F>(
    self,
    depth: u32,
    desired_size: u32,
    expected_branch_size: u32,
    recurse: F,
) -> Recursive<Self::Value, F>
 
fn prop_recursive<R, F>( self, depth: u32, desired_size: u32, expected_branch_size: u32, recurse: F, ) -> Recursive<Self::Value, F>
Generate a recursive structure with 
self items as leaves. Read moreSource§fn prop_shuffle(self) -> Shuffle<Self>
 
fn prop_shuffle(self) -> Shuffle<Self>
Shuffle the contents of the values produced by this strategy. Read more
Source§fn boxed(self) -> BoxedStrategy<Self::Value>where
    Self: Sized + 'static,
 
fn boxed(self) -> BoxedStrategy<Self::Value>where
    Self: Sized + 'static,
Erases the type of this 
Strategy so it can be passed around as a
simple trait object. Read moreAuto Trait Implementations§
impl<T> Freeze for Union<T>
impl<T> RefUnwindSafe for Union<T>where
    T: RefUnwindSafe,
impl<T> Send for Union<T>
impl<T> Sync for Union<T>
impl<T> Unpin for Union<T>
impl<T> UnwindSafe for Union<T>where
    T: RefUnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more