Struct proptest::strategy::TupleUnion
[−]
[src]
pub struct TupleUnion<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.
Methods
impl<T> TupleUnion<T>
[src]
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, impl Strategy)
pairs where all
strategies ultimately produce the same value. Each u32
indicates the
relative weight of its corresponding strategy.
You may use W<S>
as an alias for (u32, S>
.
Using this constructor directly is discouraged; prefer to use
prop_oneof!
since it is generally clearer.
Trait Implementations
impl<T: Clone> Clone for TupleUnion<T>
[src]
fn clone(&self) -> TupleUnion<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: Copy> Copy for TupleUnion<T>
[src]
impl<T: Debug> Debug for TupleUnion<T>
[src]
impl<A: Strategy, B: Strategy> Strategy for TupleUnion<(W<A>, W<B>)> where
B::Value: ValueTree<Value = ValueFor<A>>,
[src]
B::Value: ValueTree<Value = ValueFor<A>>,
type Value = TupleUnionValueTree<(A::Value, Option<B::Value>)>
The value tree generated by this Strategy
. Read more
fn new_value(&self, runner: &mut TestRunner) -> Result<Self::Value, String>
[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_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<F: Fn(&ValueFor<Self>) -> bool>(
self,
whence: String,
fun: F
) -> Filter<Self, F> where
Self: Sized,
[src]
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,
[src]
Self: Sized,
Returns a strategy which picks uniformly from self
and other
. Read more
fn prop_recursive<F: Fn(Arc<BoxedStrategy<ValueFor<Self>>>) -> BoxedStrategy<ValueFor<Self>>>(
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<BoxedStrategy<ValueFor<Self>>, F> where
Self: Sized + 'static,
[src]
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<BoxedStrategy<ValueFor<Self>>, F> where
Self: Sized + 'static,
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
impl<A: Strategy, B: Strategy, C: Strategy> Strategy for TupleUnion<(W<A>, W<B>, W<C>)> where
B::Value: ValueTree<Value = ValueFor<A>>,
C::Value: ValueTree<Value = ValueFor<A>>,
[src]
B::Value: ValueTree<Value = ValueFor<A>>,
C::Value: ValueTree<Value = ValueFor<A>>,
type Value = TupleUnionValueTree<(A::Value, Option<B::Value>, Option<C::Value>)>
The value tree generated by this Strategy
. Read more
fn new_value(&self, runner: &mut TestRunner) -> Result<Self::Value, String>
[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_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<F: Fn(&ValueFor<Self>) -> bool>(
self,
whence: String,
fun: F
) -> Filter<Self, F> where
Self: Sized,
[src]
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,
[src]
Self: Sized,
Returns a strategy which picks uniformly from self
and other
. Read more
fn prop_recursive<F: Fn(Arc<BoxedStrategy<ValueFor<Self>>>) -> BoxedStrategy<ValueFor<Self>>>(
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<BoxedStrategy<ValueFor<Self>>, F> where
Self: Sized + 'static,
[src]
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<BoxedStrategy<ValueFor<Self>>, F> where
Self: Sized + 'static,
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
impl<A: Strategy, B: Strategy, C: Strategy, D: Strategy> Strategy for TupleUnion<(W<A>, W<B>, W<C>, W<D>)> where
B::Value: ValueTree<Value = ValueFor<A>>,
C::Value: ValueTree<Value = ValueFor<A>>,
D::Value: ValueTree<Value = ValueFor<A>>,
[src]
B::Value: ValueTree<Value = ValueFor<A>>,
C::Value: ValueTree<Value = ValueFor<A>>,
D::Value: ValueTree<Value = ValueFor<A>>,
type Value = TupleUnionValueTree<(A::Value, Option<B::Value>, Option<C::Value>, Option<D::Value>)>
The value tree generated by this Strategy
. Read more
fn new_value(&self, runner: &mut TestRunner) -> Result<Self::Value, String>
[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_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<F: Fn(&ValueFor<Self>) -> bool>(
self,
whence: String,
fun: F
) -> Filter<Self, F> where
Self: Sized,
[src]
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,
[src]
Self: Sized,
Returns a strategy which picks uniformly from self
and other
. Read more
fn prop_recursive<F: Fn(Arc<BoxedStrategy<ValueFor<Self>>>) -> BoxedStrategy<ValueFor<Self>>>(
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<BoxedStrategy<ValueFor<Self>>, F> where
Self: Sized + 'static,
[src]
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<BoxedStrategy<ValueFor<Self>>, F> where
Self: Sized + 'static,
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
impl<A: Strategy, B: Strategy, C: Strategy, D: Strategy, E: Strategy> Strategy for TupleUnion<(W<A>, W<B>, W<C>, W<D>, W<E>)> where
B::Value: ValueTree<Value = ValueFor<A>>,
C::Value: ValueTree<Value = ValueFor<A>>,
D::Value: ValueTree<Value = ValueFor<A>>,
E::Value: ValueTree<Value = ValueFor<A>>,
[src]
B::Value: ValueTree<Value = ValueFor<A>>,
C::Value: ValueTree<Value = ValueFor<A>>,
D::Value: ValueTree<Value = ValueFor<A>>,
E::Value: ValueTree<Value = ValueFor<A>>,
type Value = TupleUnionValueTree<(A::Value, Option<B::Value>, Option<C::Value>, Option<D::Value>, Option<E::Value>)>
The value tree generated by this Strategy
. Read more
fn new_value(&self, runner: &mut TestRunner) -> Result<Self::Value, String>
[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_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<F: Fn(&ValueFor<Self>) -> bool>(
self,
whence: String,
fun: F
) -> Filter<Self, F> where
Self: Sized,
[src]
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,
[src]
Self: Sized,
Returns a strategy which picks uniformly from self
and other
. Read more
fn prop_recursive<F: Fn(Arc<BoxedStrategy<ValueFor<Self>>>) -> BoxedStrategy<ValueFor<Self>>>(
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<BoxedStrategy<ValueFor<Self>>, F> where
Self: Sized + 'static,
[src]
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<BoxedStrategy<ValueFor<Self>>, F> where
Self: Sized + 'static,
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
impl<A: Strategy, B: Strategy, C: Strategy, D: Strategy, E: Strategy, F: Strategy> Strategy for TupleUnion<(W<A>, W<B>, W<C>, W<D>, W<E>, W<F>)> where
B::Value: ValueTree<Value = ValueFor<A>>,
C::Value: ValueTree<Value = ValueFor<A>>,
D::Value: ValueTree<Value = ValueFor<A>>,
E::Value: ValueTree<Value = ValueFor<A>>,
F::Value: ValueTree<Value = ValueFor<A>>,
[src]
B::Value: ValueTree<Value = ValueFor<A>>,
C::Value: ValueTree<Value = ValueFor<A>>,
D::Value: ValueTree<Value = ValueFor<A>>,
E::Value: ValueTree<Value = ValueFor<A>>,
F::Value: ValueTree<Value = ValueFor<A>>,
type Value = TupleUnionValueTree<(A::Value, Option<B::Value>, Option<C::Value>, Option<D::Value>, Option<E::Value>, Option<F::Value>)>
The value tree generated by this Strategy
. Read more
fn new_value(&self, runner: &mut TestRunner) -> Result<Self::Value, String>
[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_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<F: Fn(&ValueFor<Self>) -> bool>(
self,
whence: String,
fun: F
) -> Filter<Self, F> where
Self: Sized,
[src]
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,
[src]
Self: Sized,
Returns a strategy which picks uniformly from self
and other
. Read more
fn prop_recursive<F: Fn(Arc<BoxedStrategy<ValueFor<Self>>>) -> BoxedStrategy<ValueFor<Self>>>(
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<BoxedStrategy<ValueFor<Self>>, F> where
Self: Sized + 'static,
[src]
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<BoxedStrategy<ValueFor<Self>>, F> where
Self: Sized + 'static,
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
impl<A: Strategy, B: Strategy, C: Strategy, D: Strategy, E: Strategy, F: Strategy, G: Strategy> Strategy for TupleUnion<(W<A>, W<B>, W<C>, W<D>, W<E>, W<F>, W<G>)> where
B::Value: ValueTree<Value = ValueFor<A>>,
C::Value: ValueTree<Value = ValueFor<A>>,
D::Value: ValueTree<Value = ValueFor<A>>,
E::Value: ValueTree<Value = ValueFor<A>>,
F::Value: ValueTree<Value = ValueFor<A>>,
G::Value: ValueTree<Value = ValueFor<A>>,
[src]
B::Value: ValueTree<Value = ValueFor<A>>,
C::Value: ValueTree<Value = ValueFor<A>>,
D::Value: ValueTree<Value = ValueFor<A>>,
E::Value: ValueTree<Value = ValueFor<A>>,
F::Value: ValueTree<Value = ValueFor<A>>,
G::Value: ValueTree<Value = ValueFor<A>>,
type Value = TupleUnionValueTree<(A::Value, Option<B::Value>, Option<C::Value>, Option<D::Value>, Option<E::Value>, Option<F::Value>, Option<G::Value>)>
The value tree generated by this Strategy
. Read more
fn new_value(&self, runner: &mut TestRunner) -> Result<Self::Value, String>
[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_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<F: Fn(&ValueFor<Self>) -> bool>(
self,
whence: String,
fun: F
) -> Filter<Self, F> where
Self: Sized,
[src]
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,
[src]
Self: Sized,
Returns a strategy which picks uniformly from self
and other
. Read more
fn prop_recursive<F: Fn(Arc<BoxedStrategy<ValueFor<Self>>>) -> BoxedStrategy<ValueFor<Self>>>(
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<BoxedStrategy<ValueFor<Self>>, F> where
Self: Sized + 'static,
[src]
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<BoxedStrategy<ValueFor<Self>>, F> where
Self: Sized + 'static,
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
impl<A: Strategy, B: Strategy, C: Strategy, D: Strategy, E: Strategy, F: Strategy, G: Strategy, H: Strategy> Strategy for TupleUnion<(W<A>, W<B>, W<C>, W<D>, W<E>, W<F>, W<G>, W<H>)> where
B::Value: ValueTree<Value = ValueFor<A>>,
C::Value: ValueTree<Value = ValueFor<A>>,
D::Value: ValueTree<Value = ValueFor<A>>,
E::Value: ValueTree<Value = ValueFor<A>>,
F::Value: ValueTree<Value = ValueFor<A>>,
G::Value: ValueTree<Value = ValueFor<A>>,
H::Value: ValueTree<Value = ValueFor<A>>,
[src]
B::Value: ValueTree<Value = ValueFor<A>>,
C::Value: ValueTree<Value = ValueFor<A>>,
D::Value: ValueTree<Value = ValueFor<A>>,
E::Value: ValueTree<Value = ValueFor<A>>,
F::Value: ValueTree<Value = ValueFor<A>>,
G::Value: ValueTree<Value = ValueFor<A>>,
H::Value: ValueTree<Value = ValueFor<A>>,
type Value = TupleUnionValueTree<(A::Value, Option<B::Value>, Option<C::Value>, Option<D::Value>, Option<E::Value>, Option<F::Value>, Option<G::Value>, Option<H::Value>)>
The value tree generated by this Strategy
. Read more
fn new_value(&self, runner: &mut TestRunner) -> Result<Self::Value, String>
[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_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<F: Fn(&ValueFor<Self>) -> bool>(
self,
whence: String,
fun: F
) -> Filter<Self, F> where
Self: Sized,
[src]
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,
[src]
Self: Sized,
Returns a strategy which picks uniformly from self
and other
. Read more
fn prop_recursive<F: Fn(Arc<BoxedStrategy<ValueFor<Self>>>) -> BoxedStrategy<ValueFor<Self>>>(
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<BoxedStrategy<ValueFor<Self>>, F> where
Self: Sized + 'static,
[src]
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<BoxedStrategy<ValueFor<Self>>, F> where
Self: Sized + 'static,
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
impl<A: Strategy, B: Strategy, C: Strategy, D: Strategy, E: Strategy, F: Strategy, G: Strategy, H: Strategy, I: Strategy> Strategy for TupleUnion<(W<A>, W<B>, W<C>, W<D>, W<E>, W<F>, W<G>, W<H>, W<I>)> where
B::Value: ValueTree<Value = ValueFor<A>>,
C::Value: ValueTree<Value = ValueFor<A>>,
D::Value: ValueTree<Value = ValueFor<A>>,
E::Value: ValueTree<Value = ValueFor<A>>,
F::Value: ValueTree<Value = ValueFor<A>>,
G::Value: ValueTree<Value = ValueFor<A>>,
H::Value: ValueTree<Value = ValueFor<A>>,
I::Value: ValueTree<Value = ValueFor<A>>,
[src]
B::Value: ValueTree<Value = ValueFor<A>>,
C::Value: ValueTree<Value = ValueFor<A>>,
D::Value: ValueTree<Value = ValueFor<A>>,
E::Value: ValueTree<Value = ValueFor<A>>,
F::Value: ValueTree<Value = ValueFor<A>>,
G::Value: ValueTree<Value = ValueFor<A>>,
H::Value: ValueTree<Value = ValueFor<A>>,
I::Value: ValueTree<Value = ValueFor<A>>,
type Value = TupleUnionValueTree<(A::Value, Option<B::Value>, Option<C::Value>, Option<D::Value>, Option<E::Value>, Option<F::Value>, Option<G::Value>, Option<H::Value>, Option<I::Value>)>
The value tree generated by this Strategy
. Read more
fn new_value(&self, runner: &mut TestRunner) -> Result<Self::Value, String>
[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_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<F: Fn(&ValueFor<Self>) -> bool>(
self,
whence: String,
fun: F
) -> Filter<Self, F> where
Self: Sized,
[src]
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,
[src]
Self: Sized,
Returns a strategy which picks uniformly from self
and other
. Read more
fn prop_recursive<F: Fn(Arc<BoxedStrategy<ValueFor<Self>>>) -> BoxedStrategy<ValueFor<Self>>>(
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<BoxedStrategy<ValueFor<Self>>, F> where
Self: Sized + 'static,
[src]
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<BoxedStrategy<ValueFor<Self>>, F> where
Self: Sized + 'static,
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
impl<A: Strategy, B: Strategy, C: Strategy, D: Strategy, E: Strategy, F: Strategy, G: Strategy, H: Strategy, I: Strategy, J: Strategy> Strategy for TupleUnion<(W<A>, W<B>, W<C>, W<D>, W<E>, W<F>, W<G>, W<H>, W<I>, W<J>)> where
B::Value: ValueTree<Value = ValueFor<A>>,
C::Value: ValueTree<Value = ValueFor<A>>,
D::Value: ValueTree<Value = ValueFor<A>>,
E::Value: ValueTree<Value = ValueFor<A>>,
F::Value: ValueTree<Value = ValueFor<A>>,
G::Value: ValueTree<Value = ValueFor<A>>,
H::Value: ValueTree<Value = ValueFor<A>>,
I::Value: ValueTree<Value = ValueFor<A>>,
J::Value: ValueTree<Value = ValueFor<A>>,
[src]
B::Value: ValueTree<Value = ValueFor<A>>,
C::Value: ValueTree<Value = ValueFor<A>>,
D::Value: ValueTree<Value = ValueFor<A>>,
E::Value: ValueTree<Value = ValueFor<A>>,
F::Value: ValueTree<Value = ValueFor<A>>,
G::Value: ValueTree<Value = ValueFor<A>>,
H::Value: ValueTree<Value = ValueFor<A>>,
I::Value: ValueTree<Value = ValueFor<A>>,
J::Value: ValueTree<Value = ValueFor<A>>,
type Value = TupleUnionValueTree<(A::Value, Option<B::Value>, Option<C::Value>, Option<D::Value>, Option<E::Value>, Option<F::Value>, Option<G::Value>, Option<H::Value>, Option<I::Value>, Option<J::Value>)>
The value tree generated by this Strategy
. Read more
fn new_value(&self, runner: &mut TestRunner) -> Result<Self::Value, String>
[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_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<F: Fn(&ValueFor<Self>) -> bool>(
self,
whence: String,
fun: F
) -> Filter<Self, F> where
Self: Sized,
[src]
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,
[src]
Self: Sized,
Returns a strategy which picks uniformly from self
and other
. Read more
fn prop_recursive<F: Fn(Arc<BoxedStrategy<ValueFor<Self>>>) -> BoxedStrategy<ValueFor<Self>>>(
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<BoxedStrategy<ValueFor<Self>>, F> where
Self: Sized + 'static,
[src]
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<BoxedStrategy<ValueFor<Self>>, F> where
Self: Sized + 'static,
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