[][src]Struct proptest::strategy::LazyTupleUnion

#[must_use = "strategies do nothing unless used"]
pub struct LazyTupleUnion<T>(_);

Similar to Union, but internally uses a tuple to hold the strategies.

This allows better performance than vanilla Union since one does not need to resort to boxing and dynamic dispatch to handle heterogeneous strategies.

The difference between this and TupleUnion is that with this, value trees for variants that aren't picked at first are generated lazily.

Methods

impl<T> LazyTupleUnion<T>[src]

pub fn new(tuple: T) -> Self[src]

Wrap tuple in a TupleUnion.

The struct definition allows any T for tuple, but to be useful, it must be a 2- to 10-tuple of (u32, Arc<impl Strategy>) pairs where all strategies ultimately produce the same value. Each u32 indicates the relative weight of its corresponding strategy. You may use WA<S> as an alias for (u32, Arc<S>).

Using this constructor directly is discouraged; prefer to use prop_oneof! since it is generally clearer.

Trait Implementations

impl<A: Strategy, B: Strategy<Value = A::Value>> Strategy for LazyTupleUnion<(WA<A>, WA<B>)>[src]

type Tree = LazyTupleUnionValueTree<(LazyValueTree<A>, Option<LazyValueTree<B>>)>

The value tree generated by this Strategy.

type Value = A::Value

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

fn prop_map<O: Debug, F: Fn(Self::Value) -> O>(self, fun: F) -> Map<Self, F> where
    Self: Sized
[src]

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,
    Self::Value: Into<O>, 
[src]

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

fn prop_perturb<O: Debug, F: Fn(Self::Value, TestRng) -> O>(
    self,
    fun: F
) -> Perturb<Self, F> where
    Self: Sized
[src]

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(Self::Value) -> S>(
    self,
    fun: F
) -> Flatten<Map<Self, F>> where
    Self: Sized
[src]

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(Self::Value) -> S>(
    self,
    fun: F
) -> IndFlatten<Map<Self, F>> where
    Self: Sized
[src]

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(Self::Value) -> S>(
    self,
    fun: F
) -> IndFlattenMap<Self, F> where
    Self: Sized
[src]

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(&Self::Value) -> bool>(
    self,
    whence: R,
    fun: F
) -> Filter<Self, F> where
    Self: Sized
[src]

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

fn prop_filter_map<F: Fn(Self::Value) -> Option<O>, O: Debug>(
    self,
    whence: impl Into<Reason>,
    fun: F
) -> FilterMap<Self, F> where
    Self: Sized
[src]

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

fn prop_union(self, other: Self) -> Union<Self> where
    Self: Sized
[src]

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

fn prop_recursive<R: Strategy<Value = Self::Value> + 'static, F: Fn(BoxedStrategy<Self::Value>) -> R>(
    self,
    depth: u32,
    desired_size: u32,
    expected_branch_size: u32,
    recurse: F
) -> Recursive<Self::Value, F> where
    Self: Sized + 'static, 
[src]

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

fn prop_shuffle(self) -> Shuffle<Self> where
    Self: Sized,
    Self::Value: Shuffleable
[src]

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

fn boxed(self) -> BoxedStrategy<Self::Value> where
    Self: Sized + 'static, 
[src]

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

fn sboxed(self) -> SBoxedStrategy<Self::Value> where
    Self: Sized + Send + Sync + 'static, 
[src]

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]

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

impl<A: Strategy, B: Strategy<Value = A::Value>, C: Strategy<Value = A::Value>> Strategy for LazyTupleUnion<(WA<A>, WA<B>, WA<C>)>[src]

type Tree = LazyTupleUnionValueTree<(LazyValueTree<A>, Option<LazyValueTree<B>>, Option<LazyValueTree<C>>)>

The value tree generated by this Strategy.

type Value = A::Value

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

fn prop_map<O: Debug, F: Fn(Self::Value) -> O>(self, fun: F) -> Map<Self, F> where
    Self: Sized
[src]

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,
    Self::Value: Into<O>, 
[src]

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

fn prop_perturb<O: Debug, F: Fn(Self::Value, TestRng) -> O>(
    self,
    fun: F
) -> Perturb<Self, F> where
    Self: Sized
[src]

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(Self::Value) -> S>(
    self,
    fun: F
) -> Flatten<Map<Self, F>> where
    Self: Sized
[src]

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(Self::Value) -> S>(
    self,
    fun: F
) -> IndFlatten<Map<Self, F>> where
    Self: Sized
[src]

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(Self::Value) -> S>(
    self,
    fun: F
) -> IndFlattenMap<Self, F> where
    Self: Sized
[src]

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(&Self::Value) -> bool>(
    self,
    whence: R,
    fun: F
) -> Filter<Self, F> where
    Self: Sized
[src]

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

fn prop_filter_map<F: Fn(Self::Value) -> Option<O>, O: Debug>(
    self,
    whence: impl Into<Reason>,
    fun: F
) -> FilterMap<Self, F> where
    Self: Sized
[src]

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

fn prop_union(self, other: Self) -> Union<Self> where
    Self: Sized
[src]

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

fn prop_recursive<R: Strategy<Value = Self::Value> + 'static, F: Fn(BoxedStrategy<Self::Value>) -> R>(
    self,
    depth: u32,
    desired_size: u32,
    expected_branch_size: u32,
    recurse: F
) -> Recursive<Self::Value, F> where
    Self: Sized + 'static, 
[src]

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

fn prop_shuffle(self) -> Shuffle<Self> where
    Self: Sized,
    Self::Value: Shuffleable
[src]

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

fn boxed(self) -> BoxedStrategy<Self::Value> where
    Self: Sized + 'static, 
[src]

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

fn sboxed(self) -> SBoxedStrategy<Self::Value> where
    Self: Sized + Send + Sync + 'static, 
[src]

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]

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

impl<A: Strategy, B: Strategy<Value = A::Value>, C: Strategy<Value = A::Value>, D: Strategy<Value = A::Value>> Strategy for LazyTupleUnion<(WA<A>, WA<B>, WA<C>, WA<D>)>[src]

type Tree = LazyTupleUnionValueTree<(LazyValueTree<A>, Option<LazyValueTree<B>>, Option<LazyValueTree<C>>, Option<LazyValueTree<D>>)>

The value tree generated by this Strategy.

type Value = A::Value

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

fn prop_map<O: Debug, F: Fn(Self::Value) -> O>(self, fun: F) -> Map<Self, F> where
    Self: Sized
[src]

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,
    Self::Value: Into<O>, 
[src]

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

fn prop_perturb<O: Debug, F: Fn(Self::Value, TestRng) -> O>(
    self,
    fun: F
) -> Perturb<Self, F> where
    Self: Sized
[src]

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(Self::Value) -> S>(
    self,
    fun: F
) -> Flatten<Map<Self, F>> where
    Self: Sized
[src]

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(Self::Value) -> S>(
    self,
    fun: F
) -> IndFlatten<Map<Self, F>> where
    Self: Sized
[src]

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(Self::Value) -> S>(
    self,
    fun: F
) -> IndFlattenMap<Self, F> where
    Self: Sized
[src]

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(&Self::Value) -> bool>(
    self,
    whence: R,
    fun: F
) -> Filter<Self, F> where
    Self: Sized
[src]

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

fn prop_filter_map<F: Fn(Self::Value) -> Option<O>, O: Debug>(
    self,
    whence: impl Into<Reason>,
    fun: F
) -> FilterMap<Self, F> where
    Self: Sized
[src]

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

fn prop_union(self, other: Self) -> Union<Self> where
    Self: Sized
[src]

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

fn prop_recursive<R: Strategy<Value = Self::Value> + 'static, F: Fn(BoxedStrategy<Self::Value>) -> R>(
    self,
    depth: u32,
    desired_size: u32,
    expected_branch_size: u32,
    recurse: F
) -> Recursive<Self::Value, F> where
    Self: Sized + 'static, 
[src]

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

fn prop_shuffle(self) -> Shuffle<Self> where
    Self: Sized,
    Self::Value: Shuffleable
[src]

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

fn boxed(self) -> BoxedStrategy<Self::Value> where
    Self: Sized + 'static, 
[src]

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

fn sboxed(self) -> SBoxedStrategy<Self::Value> where
    Self: Sized + Send + Sync + 'static, 
[src]

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]

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

impl<A: Strategy, B: Strategy<Value = A::Value>, C: Strategy<Value = A::Value>, D: Strategy<Value = A::Value>, E: Strategy<Value = A::Value>> Strategy for LazyTupleUnion<(WA<A>, WA<B>, WA<C>, WA<D>, WA<E>)>[src]

type Tree = LazyTupleUnionValueTree<(LazyValueTree<A>, Option<LazyValueTree<B>>, Option<LazyValueTree<C>>, Option<LazyValueTree<D>>, Option<LazyValueTree<E>>)>

The value tree generated by this Strategy.

type Value = A::Value

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

fn prop_map<O: Debug, F: Fn(Self::Value) -> O>(self, fun: F) -> Map<Self, F> where
    Self: Sized
[src]

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,
    Self::Value: Into<O>, 
[src]

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

fn prop_perturb<O: Debug, F: Fn(Self::Value, TestRng) -> O>(
    self,
    fun: F
) -> Perturb<Self, F> where
    Self: Sized
[src]

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(Self::Value) -> S>(
    self,
    fun: F
) -> Flatten<Map<Self, F>> where
    Self: Sized
[src]

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(Self::Value) -> S>(
    self,
    fun: F
) -> IndFlatten<Map<Self, F>> where
    Self: Sized
[src]

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(Self::Value) -> S>(
    self,
    fun: F
) -> IndFlattenMap<Self, F> where
    Self: Sized
[src]

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(&Self::Value) -> bool>(
    self,
    whence: R,
    fun: F
) -> Filter<Self, F> where
    Self: Sized
[src]

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

fn prop_filter_map<F: Fn(Self::Value) -> Option<O>, O: Debug>(
    self,
    whence: impl Into<Reason>,
    fun: F
) -> FilterMap<Self, F> where
    Self: Sized
[src]

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

fn prop_union(self, other: Self) -> Union<Self> where
    Self: Sized
[src]

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

fn prop_recursive<R: Strategy<Value = Self::Value> + 'static, F: Fn(BoxedStrategy<Self::Value>) -> R>(
    self,
    depth: u32,
    desired_size: u32,
    expected_branch_size: u32,
    recurse: F
) -> Recursive<Self::Value, F> where
    Self: Sized + 'static, 
[src]

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

fn prop_shuffle(self) -> Shuffle<Self> where
    Self: Sized,
    Self::Value: Shuffleable
[src]

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

fn boxed(self) -> BoxedStrategy<Self::Value> where
    Self: Sized + 'static, 
[src]

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

fn sboxed(self) -> SBoxedStrategy<Self::Value> where
    Self: Sized + Send + Sync + 'static, 
[src]

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]

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

impl<A: Strategy, B: Strategy<Value = A::Value>, C: Strategy<Value = A::Value>, D: Strategy<Value = A::Value>, E: Strategy<Value = A::Value>, F: Strategy<Value = A::Value>> Strategy for LazyTupleUnion<(WA<A>, WA<B>, WA<C>, WA<D>, WA<E>, WA<F>)>[src]

type Tree = LazyTupleUnionValueTree<(LazyValueTree<A>, Option<LazyValueTree<B>>, Option<LazyValueTree<C>>, Option<LazyValueTree<D>>, Option<LazyValueTree<E>>, Option<LazyValueTree<F>>)>

The value tree generated by this Strategy.

type Value = A::Value

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

fn prop_map<O: Debug, F: Fn(Self::Value) -> O>(self, fun: F) -> Map<Self, F> where
    Self: Sized
[src]

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,
    Self::Value: Into<O>, 
[src]

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

fn prop_perturb<O: Debug, F: Fn(Self::Value, TestRng) -> O>(
    self,
    fun: F
) -> Perturb<Self, F> where
    Self: Sized
[src]

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(Self::Value) -> S>(
    self,
    fun: F
) -> Flatten<Map<Self, F>> where
    Self: Sized
[src]

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(Self::Value) -> S>(
    self,
    fun: F
) -> IndFlatten<Map<Self, F>> where
    Self: Sized
[src]

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(Self::Value) -> S>(
    self,
    fun: F
) -> IndFlattenMap<Self, F> where
    Self: Sized
[src]

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(&Self::Value) -> bool>(
    self,
    whence: R,
    fun: F
) -> Filter<Self, F> where
    Self: Sized
[src]

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

fn prop_filter_map<F: Fn(Self::Value) -> Option<O>, O: Debug>(
    self,
    whence: impl Into<Reason>,
    fun: F
) -> FilterMap<Self, F> where
    Self: Sized
[src]

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

fn prop_union(self, other: Self) -> Union<Self> where
    Self: Sized
[src]

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

fn prop_recursive<R: Strategy<Value = Self::Value> + 'static, F: Fn(BoxedStrategy<Self::Value>) -> R>(
    self,
    depth: u32,
    desired_size: u32,
    expected_branch_size: u32,
    recurse: F
) -> Recursive<Self::Value, F> where
    Self: Sized + 'static, 
[src]

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

fn prop_shuffle(self) -> Shuffle<Self> where
    Self: Sized,
    Self::Value: Shuffleable
[src]

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

fn boxed(self) -> BoxedStrategy<Self::Value> where
    Self: Sized + 'static, 
[src]

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

fn sboxed(self) -> SBoxedStrategy<Self::Value> where
    Self: Sized + Send + Sync + 'static, 
[src]

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]

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

impl<A: Strategy, B: Strategy<Value = A::Value>, C: Strategy<Value = A::Value>, D: Strategy<Value = A::Value>, E: Strategy<Value = A::Value>, F: Strategy<Value = A::Value>, G: Strategy<Value = A::Value>> Strategy for LazyTupleUnion<(WA<A>, WA<B>, WA<C>, WA<D>, WA<E>, WA<F>, WA<G>)>[src]

type Tree = LazyTupleUnionValueTree<(LazyValueTree<A>, Option<LazyValueTree<B>>, Option<LazyValueTree<C>>, Option<LazyValueTree<D>>, Option<LazyValueTree<E>>, Option<LazyValueTree<F>>, Option<LazyValueTree<G>>)>

The value tree generated by this Strategy.

type Value = A::Value

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

fn prop_map<O: Debug, F: Fn(Self::Value) -> O>(self, fun: F) -> Map<Self, F> where
    Self: Sized
[src]

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,
    Self::Value: Into<O>, 
[src]

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

fn prop_perturb<O: Debug, F: Fn(Self::Value, TestRng) -> O>(
    self,
    fun: F
) -> Perturb<Self, F> where
    Self: Sized
[src]

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(Self::Value) -> S>(
    self,
    fun: F
) -> Flatten<Map<Self, F>> where
    Self: Sized
[src]

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(Self::Value) -> S>(
    self,
    fun: F
) -> IndFlatten<Map<Self, F>> where
    Self: Sized
[src]

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(Self::Value) -> S>(
    self,
    fun: F
) -> IndFlattenMap<Self, F> where
    Self: Sized
[src]

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(&Self::Value) -> bool>(
    self,
    whence: R,
    fun: F
) -> Filter<Self, F> where
    Self: Sized
[src]

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

fn prop_filter_map<F: Fn(Self::Value) -> Option<O>, O: Debug>(
    self,
    whence: impl Into<Reason>,
    fun: F
) -> FilterMap<Self, F> where
    Self: Sized
[src]

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

fn prop_union(self, other: Self) -> Union<Self> where
    Self: Sized
[src]

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

fn prop_recursive<R: Strategy<Value = Self::Value> + 'static, F: Fn(BoxedStrategy<Self::Value>) -> R>(
    self,
    depth: u32,
    desired_size: u32,
    expected_branch_size: u32,
    recurse: F
) -> Recursive<Self::Value, F> where
    Self: Sized + 'static, 
[src]

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

fn prop_shuffle(self) -> Shuffle<Self> where
    Self: Sized,
    Self::Value: Shuffleable
[src]

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

fn boxed(self) -> BoxedStrategy<Self::Value> where
    Self: Sized + 'static, 
[src]

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

fn sboxed(self) -> SBoxedStrategy<Self::Value> where
    Self: Sized + Send + Sync + 'static, 
[src]

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]

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

impl<A: Strategy, B: Strategy<Value = A::Value>, C: Strategy<Value = A::Value>, D: Strategy<Value = A::Value>, E: Strategy<Value = A::Value>, F: Strategy<Value = A::Value>, G: Strategy<Value = A::Value>, H: Strategy<Value = A::Value>> Strategy for LazyTupleUnion<(WA<A>, WA<B>, WA<C>, WA<D>, WA<E>, WA<F>, WA<G>, WA<H>)>[src]

type Tree = LazyTupleUnionValueTree<(LazyValueTree<A>, Option<LazyValueTree<B>>, Option<LazyValueTree<C>>, Option<LazyValueTree<D>>, Option<LazyValueTree<E>>, Option<LazyValueTree<F>>, Option<LazyValueTree<G>>, Option<LazyValueTree<H>>)>

The value tree generated by this Strategy.

type Value = A::Value

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

fn prop_map<O: Debug, F: Fn(Self::Value) -> O>(self, fun: F) -> Map<Self, F> where
    Self: Sized
[src]

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,
    Self::Value: Into<O>, 
[src]

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

fn prop_perturb<O: Debug, F: Fn(Self::Value, TestRng) -> O>(
    self,
    fun: F
) -> Perturb<Self, F> where
    Self: Sized
[src]

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(Self::Value) -> S>(
    self,
    fun: F
) -> Flatten<Map<Self, F>> where
    Self: Sized
[src]

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(Self::Value) -> S>(
    self,
    fun: F
) -> IndFlatten<Map<Self, F>> where
    Self: Sized
[src]

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(Self::Value) -> S>(
    self,
    fun: F
) -> IndFlattenMap<Self, F> where
    Self: Sized
[src]

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(&Self::Value) -> bool>(
    self,
    whence: R,
    fun: F
) -> Filter<Self, F> where
    Self: Sized
[src]

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

fn prop_filter_map<F: Fn(Self::Value) -> Option<O>, O: Debug>(
    self,
    whence: impl Into<Reason>,
    fun: F
) -> FilterMap<Self, F> where
    Self: Sized
[src]

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

fn prop_union(self, other: Self) -> Union<Self> where
    Self: Sized
[src]

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

fn prop_recursive<R: Strategy<Value = Self::Value> + 'static, F: Fn(BoxedStrategy<Self::Value>) -> R>(
    self,
    depth: u32,
    desired_size: u32,
    expected_branch_size: u32,
    recurse: F
) -> Recursive<Self::Value, F> where
    Self: Sized + 'static, 
[src]

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

fn prop_shuffle(self) -> Shuffle<Self> where
    Self: Sized,
    Self::Value: Shuffleable
[src]

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

fn boxed(self) -> BoxedStrategy<Self::Value> where
    Self: Sized + 'static, 
[src]

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

fn sboxed(self) -> SBoxedStrategy<Self::Value> where
    Self: Sized + Send + Sync + 'static, 
[src]

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]

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

impl<A: Strategy, B: Strategy<Value = A::Value>, C: Strategy<Value = A::Value>, D: Strategy<Value = A::Value>, E: Strategy<Value = A::Value>, F: Strategy<Value = A::Value>, G: Strategy<Value = A::Value>, H: Strategy<Value = A::Value>, I: Strategy<Value = A::Value>> Strategy for LazyTupleUnion<(WA<A>, WA<B>, WA<C>, WA<D>, WA<E>, WA<F>, WA<G>, WA<H>, WA<I>)>[src]

type Tree = LazyTupleUnionValueTree<(LazyValueTree<A>, Option<LazyValueTree<B>>, Option<LazyValueTree<C>>, Option<LazyValueTree<D>>, Option<LazyValueTree<E>>, Option<LazyValueTree<F>>, Option<LazyValueTree<G>>, Option<LazyValueTree<H>>, Option<LazyValueTree<I>>)>

The value tree generated by this Strategy.

type Value = A::Value

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

fn prop_map<O: Debug, F: Fn(Self::Value) -> O>(self, fun: F) -> Map<Self, F> where
    Self: Sized
[src]

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,
    Self::Value: Into<O>, 
[src]

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

fn prop_perturb<O: Debug, F: Fn(Self::Value, TestRng) -> O>(
    self,
    fun: F
) -> Perturb<Self, F> where
    Self: Sized
[src]

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(Self::Value) -> S>(
    self,
    fun: F
) -> Flatten<Map<Self, F>> where
    Self: Sized
[src]

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(Self::Value) -> S>(
    self,
    fun: F
) -> IndFlatten<Map<Self, F>> where
    Self: Sized
[src]

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(Self::Value) -> S>(
    self,
    fun: F
) -> IndFlattenMap<Self, F> where
    Self: Sized
[src]

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(&Self::Value) -> bool>(
    self,
    whence: R,
    fun: F
) -> Filter<Self, F> where
    Self: Sized
[src]

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

fn prop_filter_map<F: Fn(Self::Value) -> Option<O>, O: Debug>(
    self,
    whence: impl Into<Reason>,
    fun: F
) -> FilterMap<Self, F> where
    Self: Sized
[src]

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

fn prop_union(self, other: Self) -> Union<Self> where
    Self: Sized
[src]

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

fn prop_recursive<R: Strategy<Value = Self::Value> + 'static, F: Fn(BoxedStrategy<Self::Value>) -> R>(
    self,
    depth: u32,
    desired_size: u32,
    expected_branch_size: u32,
    recurse: F
) -> Recursive<Self::Value, F> where
    Self: Sized + 'static, 
[src]

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

fn prop_shuffle(self) -> Shuffle<Self> where
    Self: Sized,
    Self::Value: Shuffleable
[src]

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

fn boxed(self) -> BoxedStrategy<Self::Value> where
    Self: Sized + 'static, 
[src]

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

fn sboxed(self) -> SBoxedStrategy<Self::Value> where
    Self: Sized + Send + Sync + 'static, 
[src]

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]

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

impl<A: Strategy, B: Strategy<Value = A::Value>, C: Strategy<Value = A::Value>, D: Strategy<Value = A::Value>, E: Strategy<Value = A::Value>, F: Strategy<Value = A::Value>, G: Strategy<Value = A::Value>, H: Strategy<Value = A::Value>, I: Strategy<Value = A::Value>, J: Strategy<Value = A::Value>> Strategy for LazyTupleUnion<(WA<A>, WA<B>, WA<C>, WA<D>, WA<E>, WA<F>, WA<G>, WA<H>, WA<I>, WA<J>)>[src]

type Tree = LazyTupleUnionValueTree<(LazyValueTree<A>, Option<LazyValueTree<B>>, Option<LazyValueTree<C>>, Option<LazyValueTree<D>>, Option<LazyValueTree<E>>, Option<LazyValueTree<F>>, Option<LazyValueTree<G>>, Option<LazyValueTree<H>>, Option<LazyValueTree<I>>, Option<LazyValueTree<J>>)>

The value tree generated by this Strategy.

type Value = A::Value

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

fn prop_map<O: Debug, F: Fn(Self::Value) -> O>(self, fun: F) -> Map<Self, F> where
    Self: Sized
[src]

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,
    Self::Value: Into<O>, 
[src]

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

fn prop_perturb<O: Debug, F: Fn(Self::Value, TestRng) -> O>(
    self,
    fun: F
) -> Perturb<Self, F> where
    Self: Sized
[src]

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(Self::Value) -> S>(
    self,
    fun: F
) -> Flatten<Map<Self, F>> where
    Self: Sized
[src]

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(Self::Value) -> S>(
    self,
    fun: F
) -> IndFlatten<Map<Self, F>> where
    Self: Sized
[src]

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(Self::Value) -> S>(
    self,
    fun: F
) -> IndFlattenMap<Self, F> where
    Self: Sized
[src]

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(&Self::Value) -> bool>(
    self,
    whence: R,
    fun: F
) -> Filter<Self, F> where
    Self: Sized
[src]

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

fn prop_filter_map<F: Fn(Self::Value) -> Option<O>, O: Debug>(
    self,
    whence: impl Into<Reason>,
    fun: F
) -> FilterMap<Self, F> where
    Self: Sized
[src]

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

fn prop_union(self, other: Self) -> Union<Self> where
    Self: Sized
[src]

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

fn prop_recursive<R: Strategy<Value = Self::Value> + 'static, F: Fn(BoxedStrategy<Self::Value>) -> R>(
    self,
    depth: u32,
    desired_size: u32,
    expected_branch_size: u32,
    recurse: F
) -> Recursive<Self::Value, F> where
    Self: Sized + 'static, 
[src]

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

fn prop_shuffle(self) -> Shuffle<Self> where
    Self: Sized,
    Self::Value: Shuffleable
[src]

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

fn boxed(self) -> BoxedStrategy<Self::Value> where
    Self: Sized + 'static, 
[src]

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

fn sboxed(self) -> SBoxedStrategy<Self::Value> where
    Self: Sized + Send + Sync + 'static, 
[src]

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]

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

impl<T: Debug> Debug for LazyTupleUnion<T>[src]

impl<T: Copy> Copy for LazyTupleUnion<T>[src]

impl<T: Clone> Clone for LazyTupleUnion<T>[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

Auto Trait Implementations

impl<T> Send for LazyTupleUnion<T> where
    T: Send

impl<T> Sync for LazyTupleUnion<T> where
    T: Sync

Blanket Implementations

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.