Struct proptest::strategy::TupleUnion
source · pub struct TupleUnion<T>(_);
Expand description
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.
Implementations§
source§impl<T> TupleUnion<T>
impl<T> TupleUnion<T>
sourcepub fn new(tuple: T) -> Self
pub fn new(tuple: T) -> Self
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§
source§impl<T: Clone> Clone for TupleUnion<T>
impl<T: Clone> Clone for TupleUnion<T>
source§fn clone(&self) -> TupleUnion<T>
fn clone(&self) -> TupleUnion<T>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<T: Debug> Debug for TupleUnion<T>
impl<T: Debug> Debug for TupleUnion<T>
source§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>>,
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>>,
§type Value = TupleUnionValueTree<(<A as Strategy>::Value, Option<<B as Strategy>::Value>, Option<<C as Strategy>::Value>, Option<<D as Strategy>::Value>, Option<<E as Strategy>::Value>, Option<<F as Strategy>::Value>, Option<<G as Strategy>::Value>, Option<<H as Strategy>::Value>, Option<<I as Strategy>::Value>, Option<<J as Strategy>::Value>)>
type Value = TupleUnionValueTree<(<A as Strategy>::Value, Option<<B as Strategy>::Value>, Option<<C as Strategy>::Value>, Option<<D as Strategy>::Value>, Option<<E as Strategy>::Value>, Option<<F as Strategy>::Value>, Option<<G as Strategy>::Value>, Option<<H as Strategy>::Value>, Option<<I as Strategy>::Value>, Option<<J as Strategy>::Value>)>
The value tree generated by this
Strategy
. Read moresource§fn new_value(&self, runner: &mut TestRunner) -> NewTree<Self>
fn new_value(&self, runner: &mut TestRunner) -> NewTree<Self>
Generate a new value tree from the given runner. Read more
source§fn prop_map<O: Debug, F: Fn(ValueFor<Self>) -> O>(self, fun: F) -> Map<Self, F>where
Self: Sized,
fn prop_map<O: Debug, F: Fn(ValueFor<Self>) -> O>(self, fun: F) -> Map<Self, F>where
Self: Sized,
Returns a strategy which produces values transformed by the function
fun
. Read moresource§fn prop_map_into<O: Debug>(self) -> MapInto<Self, O>where
Self: Sized,
ValueFor<Self>: Into<O>,
fn prop_map_into<O: Debug>(self) -> MapInto<Self, O>where
Self: Sized,
ValueFor<Self>: Into<O>,
source§fn prop_perturb<O: Debug, F: Fn(ValueFor<Self>, XorShiftRng) -> O>(
self,
fun: F
) -> Perturb<Self, F>where
Self: Sized,
fn prop_perturb<O: Debug, F: Fn(ValueFor<Self>, XorShiftRng) -> O>(
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 moresource§fn prop_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> Flatten<Map<Self, F>>where
Self: Sized,
fn prop_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
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
source§fn prop_ind_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> IndFlatten<Map<Self, F>>where
Self: Sized,
fn prop_ind_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
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
source§fn prop_ind_flat_map2<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> IndFlattenMap<Self, F>where
Self: Sized,
fn prop_ind_flat_map2<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
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 moresource§fn prop_filter<R: Into<Reason>, F: Fn(&ValueFor<Self>) -> bool>(
self,
whence: R,
fun: F
) -> Filter<Self, F>where
Self: Sized,
fn prop_filter<R: Into<Reason>, F: Fn(&ValueFor<Self>) -> bool>(
self,
whence: R,
fun: F
) -> Filter<Self, F>where
Self: Sized,
Returns a strategy which only produces values accepted by
fun
. 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<ValueFor<Self>, F>where
Self: Sized + 'static,
F: Fn(BoxedStrategy<ValueFor<Self>>) -> R,
R: Strategy + 'static,
R::Value: ValueTree<Value = ValueFor<Self>>,
fn prop_recursive<R, F>(
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<ValueFor<Self>, F>where
Self: Sized + 'static,
F: Fn(BoxedStrategy<ValueFor<Self>>) -> R,
R: Strategy + 'static,
R::Value: ValueTree<Value = ValueFor<Self>>,
Generate a recursive structure with
self
items as leaves. Read moresource§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>>,
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>>,
§type Value = TupleUnionValueTree<(<A as Strategy>::Value, Option<<B as Strategy>::Value>, Option<<C as Strategy>::Value>, Option<<D as Strategy>::Value>, Option<<E as Strategy>::Value>, Option<<F as Strategy>::Value>, Option<<G as Strategy>::Value>, Option<<H as Strategy>::Value>, Option<<I as Strategy>::Value>)>
type Value = TupleUnionValueTree<(<A as Strategy>::Value, Option<<B as Strategy>::Value>, Option<<C as Strategy>::Value>, Option<<D as Strategy>::Value>, Option<<E as Strategy>::Value>, Option<<F as Strategy>::Value>, Option<<G as Strategy>::Value>, Option<<H as Strategy>::Value>, Option<<I as Strategy>::Value>)>
The value tree generated by this
Strategy
. Read moresource§fn new_value(&self, runner: &mut TestRunner) -> NewTree<Self>
fn new_value(&self, runner: &mut TestRunner) -> NewTree<Self>
Generate a new value tree from the given runner. Read more
source§fn prop_map<O: Debug, F: Fn(ValueFor<Self>) -> O>(self, fun: F) -> Map<Self, F>where
Self: Sized,
fn prop_map<O: Debug, F: Fn(ValueFor<Self>) -> O>(self, fun: F) -> Map<Self, F>where
Self: Sized,
Returns a strategy which produces values transformed by the function
fun
. Read moresource§fn prop_map_into<O: Debug>(self) -> MapInto<Self, O>where
Self: Sized,
ValueFor<Self>: Into<O>,
fn prop_map_into<O: Debug>(self) -> MapInto<Self, O>where
Self: Sized,
ValueFor<Self>: Into<O>,
source§fn prop_perturb<O: Debug, F: Fn(ValueFor<Self>, XorShiftRng) -> O>(
self,
fun: F
) -> Perturb<Self, F>where
Self: Sized,
fn prop_perturb<O: Debug, F: Fn(ValueFor<Self>, XorShiftRng) -> O>(
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 moresource§fn prop_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> Flatten<Map<Self, F>>where
Self: Sized,
fn prop_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
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
source§fn prop_ind_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> IndFlatten<Map<Self, F>>where
Self: Sized,
fn prop_ind_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
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
source§fn prop_ind_flat_map2<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> IndFlattenMap<Self, F>where
Self: Sized,
fn prop_ind_flat_map2<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
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 moresource§fn prop_filter<R: Into<Reason>, F: Fn(&ValueFor<Self>) -> bool>(
self,
whence: R,
fun: F
) -> Filter<Self, F>where
Self: Sized,
fn prop_filter<R: Into<Reason>, F: Fn(&ValueFor<Self>) -> bool>(
self,
whence: R,
fun: F
) -> Filter<Self, F>where
Self: Sized,
Returns a strategy which only produces values accepted by
fun
. 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<ValueFor<Self>, F>where
Self: Sized + 'static,
F: Fn(BoxedStrategy<ValueFor<Self>>) -> R,
R: Strategy + 'static,
R::Value: ValueTree<Value = ValueFor<Self>>,
fn prop_recursive<R, F>(
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<ValueFor<Self>, F>where
Self: Sized + 'static,
F: Fn(BoxedStrategy<ValueFor<Self>>) -> R,
R: Strategy + 'static,
R::Value: ValueTree<Value = ValueFor<Self>>,
Generate a recursive structure with
self
items as leaves. Read moresource§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>>,
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>>,
§type Value = TupleUnionValueTree<(<A as Strategy>::Value, Option<<B as Strategy>::Value>, Option<<C as Strategy>::Value>, Option<<D as Strategy>::Value>, Option<<E as Strategy>::Value>, Option<<F as Strategy>::Value>, Option<<G as Strategy>::Value>, Option<<H as Strategy>::Value>)>
type Value = TupleUnionValueTree<(<A as Strategy>::Value, Option<<B as Strategy>::Value>, Option<<C as Strategy>::Value>, Option<<D as Strategy>::Value>, Option<<E as Strategy>::Value>, Option<<F as Strategy>::Value>, Option<<G as Strategy>::Value>, Option<<H as Strategy>::Value>)>
The value tree generated by this
Strategy
. Read moresource§fn new_value(&self, runner: &mut TestRunner) -> NewTree<Self>
fn new_value(&self, runner: &mut TestRunner) -> NewTree<Self>
Generate a new value tree from the given runner. Read more
source§fn prop_map<O: Debug, F: Fn(ValueFor<Self>) -> O>(self, fun: F) -> Map<Self, F>where
Self: Sized,
fn prop_map<O: Debug, F: Fn(ValueFor<Self>) -> O>(self, fun: F) -> Map<Self, F>where
Self: Sized,
Returns a strategy which produces values transformed by the function
fun
. Read moresource§fn prop_map_into<O: Debug>(self) -> MapInto<Self, O>where
Self: Sized,
ValueFor<Self>: Into<O>,
fn prop_map_into<O: Debug>(self) -> MapInto<Self, O>where
Self: Sized,
ValueFor<Self>: Into<O>,
source§fn prop_perturb<O: Debug, F: Fn(ValueFor<Self>, XorShiftRng) -> O>(
self,
fun: F
) -> Perturb<Self, F>where
Self: Sized,
fn prop_perturb<O: Debug, F: Fn(ValueFor<Self>, XorShiftRng) -> O>(
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 moresource§fn prop_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> Flatten<Map<Self, F>>where
Self: Sized,
fn prop_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
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
source§fn prop_ind_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> IndFlatten<Map<Self, F>>where
Self: Sized,
fn prop_ind_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
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
source§fn prop_ind_flat_map2<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> IndFlattenMap<Self, F>where
Self: Sized,
fn prop_ind_flat_map2<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
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 moresource§fn prop_filter<R: Into<Reason>, F: Fn(&ValueFor<Self>) -> bool>(
self,
whence: R,
fun: F
) -> Filter<Self, F>where
Self: Sized,
fn prop_filter<R: Into<Reason>, F: Fn(&ValueFor<Self>) -> bool>(
self,
whence: R,
fun: F
) -> Filter<Self, F>where
Self: Sized,
Returns a strategy which only produces values accepted by
fun
. 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<ValueFor<Self>, F>where
Self: Sized + 'static,
F: Fn(BoxedStrategy<ValueFor<Self>>) -> R,
R: Strategy + 'static,
R::Value: ValueTree<Value = ValueFor<Self>>,
fn prop_recursive<R, F>(
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<ValueFor<Self>, F>where
Self: Sized + 'static,
F: Fn(BoxedStrategy<ValueFor<Self>>) -> R,
R: Strategy + 'static,
R::Value: ValueTree<Value = ValueFor<Self>>,
Generate a recursive structure with
self
items as leaves. Read moresource§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>>,
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>>,
§type Value = TupleUnionValueTree<(<A as Strategy>::Value, Option<<B as Strategy>::Value>, Option<<C as Strategy>::Value>, Option<<D as Strategy>::Value>, Option<<E as Strategy>::Value>, Option<<F as Strategy>::Value>, Option<<G as Strategy>::Value>)>
type Value = TupleUnionValueTree<(<A as Strategy>::Value, Option<<B as Strategy>::Value>, Option<<C as Strategy>::Value>, Option<<D as Strategy>::Value>, Option<<E as Strategy>::Value>, Option<<F as Strategy>::Value>, Option<<G as Strategy>::Value>)>
The value tree generated by this
Strategy
. Read moresource§fn new_value(&self, runner: &mut TestRunner) -> NewTree<Self>
fn new_value(&self, runner: &mut TestRunner) -> NewTree<Self>
Generate a new value tree from the given runner. Read more
source§fn prop_map<O: Debug, F: Fn(ValueFor<Self>) -> O>(self, fun: F) -> Map<Self, F>where
Self: Sized,
fn prop_map<O: Debug, F: Fn(ValueFor<Self>) -> O>(self, fun: F) -> Map<Self, F>where
Self: Sized,
Returns a strategy which produces values transformed by the function
fun
. Read moresource§fn prop_map_into<O: Debug>(self) -> MapInto<Self, O>where
Self: Sized,
ValueFor<Self>: Into<O>,
fn prop_map_into<O: Debug>(self) -> MapInto<Self, O>where
Self: Sized,
ValueFor<Self>: Into<O>,
source§fn prop_perturb<O: Debug, F: Fn(ValueFor<Self>, XorShiftRng) -> O>(
self,
fun: F
) -> Perturb<Self, F>where
Self: Sized,
fn prop_perturb<O: Debug, F: Fn(ValueFor<Self>, XorShiftRng) -> O>(
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 moresource§fn prop_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> Flatten<Map<Self, F>>where
Self: Sized,
fn prop_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
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
source§fn prop_ind_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> IndFlatten<Map<Self, F>>where
Self: Sized,
fn prop_ind_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
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
source§fn prop_ind_flat_map2<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> IndFlattenMap<Self, F>where
Self: Sized,
fn prop_ind_flat_map2<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
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 moresource§fn prop_filter<R: Into<Reason>, F: Fn(&ValueFor<Self>) -> bool>(
self,
whence: R,
fun: F
) -> Filter<Self, F>where
Self: Sized,
fn prop_filter<R: Into<Reason>, F: Fn(&ValueFor<Self>) -> bool>(
self,
whence: R,
fun: F
) -> Filter<Self, F>where
Self: Sized,
Returns a strategy which only produces values accepted by
fun
. 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<ValueFor<Self>, F>where
Self: Sized + 'static,
F: Fn(BoxedStrategy<ValueFor<Self>>) -> R,
R: Strategy + 'static,
R::Value: ValueTree<Value = ValueFor<Self>>,
fn prop_recursive<R, F>(
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<ValueFor<Self>, F>where
Self: Sized + 'static,
F: Fn(BoxedStrategy<ValueFor<Self>>) -> R,
R: Strategy + 'static,
R::Value: ValueTree<Value = ValueFor<Self>>,
Generate a recursive structure with
self
items as leaves. Read moresource§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>>,
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>>,
§type Value = TupleUnionValueTree<(<A as Strategy>::Value, Option<<B as Strategy>::Value>, Option<<C as Strategy>::Value>, Option<<D as Strategy>::Value>, Option<<E as Strategy>::Value>, Option<<F as Strategy>::Value>)>
type Value = TupleUnionValueTree<(<A as Strategy>::Value, Option<<B as Strategy>::Value>, Option<<C as Strategy>::Value>, Option<<D as Strategy>::Value>, Option<<E as Strategy>::Value>, Option<<F as Strategy>::Value>)>
The value tree generated by this
Strategy
. Read moresource§fn new_value(&self, runner: &mut TestRunner) -> NewTree<Self>
fn new_value(&self, runner: &mut TestRunner) -> NewTree<Self>
Generate a new value tree from the given runner. Read more
source§fn prop_map<O: Debug, F: Fn(ValueFor<Self>) -> O>(self, fun: F) -> Map<Self, F>where
Self: Sized,
fn prop_map<O: Debug, F: Fn(ValueFor<Self>) -> O>(self, fun: F) -> Map<Self, F>where
Self: Sized,
Returns a strategy which produces values transformed by the function
fun
. Read moresource§fn prop_map_into<O: Debug>(self) -> MapInto<Self, O>where
Self: Sized,
ValueFor<Self>: Into<O>,
fn prop_map_into<O: Debug>(self) -> MapInto<Self, O>where
Self: Sized,
ValueFor<Self>: Into<O>,
source§fn prop_perturb<O: Debug, F: Fn(ValueFor<Self>, XorShiftRng) -> O>(
self,
fun: F
) -> Perturb<Self, F>where
Self: Sized,
fn prop_perturb<O: Debug, F: Fn(ValueFor<Self>, XorShiftRng) -> O>(
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 moresource§fn prop_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> Flatten<Map<Self, F>>where
Self: Sized,
fn prop_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
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
source§fn prop_ind_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> IndFlatten<Map<Self, F>>where
Self: Sized,
fn prop_ind_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
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
source§fn prop_ind_flat_map2<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> IndFlattenMap<Self, F>where
Self: Sized,
fn prop_ind_flat_map2<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
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 moresource§fn prop_filter<R: Into<Reason>, F: Fn(&ValueFor<Self>) -> bool>(
self,
whence: R,
fun: F
) -> Filter<Self, F>where
Self: Sized,
fn prop_filter<R: Into<Reason>, F: Fn(&ValueFor<Self>) -> bool>(
self,
whence: R,
fun: F
) -> Filter<Self, F>where
Self: Sized,
Returns a strategy which only produces values accepted by
fun
. 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<ValueFor<Self>, F>where
Self: Sized + 'static,
F: Fn(BoxedStrategy<ValueFor<Self>>) -> R,
R: Strategy + 'static,
R::Value: ValueTree<Value = ValueFor<Self>>,
fn prop_recursive<R, F>(
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<ValueFor<Self>, F>where
Self: Sized + 'static,
F: Fn(BoxedStrategy<ValueFor<Self>>) -> R,
R: Strategy + 'static,
R::Value: ValueTree<Value = ValueFor<Self>>,
Generate a recursive structure with
self
items as leaves. Read moresource§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>>,
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>>,
§type Value = TupleUnionValueTree<(<A as Strategy>::Value, Option<<B as Strategy>::Value>, Option<<C as Strategy>::Value>, Option<<D as Strategy>::Value>, Option<<E as Strategy>::Value>)>
type Value = TupleUnionValueTree<(<A as Strategy>::Value, Option<<B as Strategy>::Value>, Option<<C as Strategy>::Value>, Option<<D as Strategy>::Value>, Option<<E as Strategy>::Value>)>
The value tree generated by this
Strategy
. Read moresource§fn new_value(&self, runner: &mut TestRunner) -> NewTree<Self>
fn new_value(&self, runner: &mut TestRunner) -> NewTree<Self>
Generate a new value tree from the given runner. Read more
source§fn prop_map<O: Debug, F: Fn(ValueFor<Self>) -> O>(self, fun: F) -> Map<Self, F>where
Self: Sized,
fn prop_map<O: Debug, F: Fn(ValueFor<Self>) -> O>(self, fun: F) -> Map<Self, F>where
Self: Sized,
Returns a strategy which produces values transformed by the function
fun
. Read moresource§fn prop_map_into<O: Debug>(self) -> MapInto<Self, O>where
Self: Sized,
ValueFor<Self>: Into<O>,
fn prop_map_into<O: Debug>(self) -> MapInto<Self, O>where
Self: Sized,
ValueFor<Self>: Into<O>,
source§fn prop_perturb<O: Debug, F: Fn(ValueFor<Self>, XorShiftRng) -> O>(
self,
fun: F
) -> Perturb<Self, F>where
Self: Sized,
fn prop_perturb<O: Debug, F: Fn(ValueFor<Self>, XorShiftRng) -> O>(
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 moresource§fn prop_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> Flatten<Map<Self, F>>where
Self: Sized,
fn prop_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
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
source§fn prop_ind_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> IndFlatten<Map<Self, F>>where
Self: Sized,
fn prop_ind_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
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
source§fn prop_ind_flat_map2<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> IndFlattenMap<Self, F>where
Self: Sized,
fn prop_ind_flat_map2<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
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 moresource§fn prop_filter<R: Into<Reason>, F: Fn(&ValueFor<Self>) -> bool>(
self,
whence: R,
fun: F
) -> Filter<Self, F>where
Self: Sized,
fn prop_filter<R: Into<Reason>, F: Fn(&ValueFor<Self>) -> bool>(
self,
whence: R,
fun: F
) -> Filter<Self, F>where
Self: Sized,
Returns a strategy which only produces values accepted by
fun
. 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<ValueFor<Self>, F>where
Self: Sized + 'static,
F: Fn(BoxedStrategy<ValueFor<Self>>) -> R,
R: Strategy + 'static,
R::Value: ValueTree<Value = ValueFor<Self>>,
fn prop_recursive<R, F>(
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<ValueFor<Self>, F>where
Self: Sized + 'static,
F: Fn(BoxedStrategy<ValueFor<Self>>) -> R,
R: Strategy + 'static,
R::Value: ValueTree<Value = ValueFor<Self>>,
Generate a recursive structure with
self
items as leaves. Read moresource§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>>,
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>>,
§type Value = TupleUnionValueTree<(<A as Strategy>::Value, Option<<B as Strategy>::Value>, Option<<C as Strategy>::Value>, Option<<D as Strategy>::Value>)>
type Value = TupleUnionValueTree<(<A as Strategy>::Value, Option<<B as Strategy>::Value>, Option<<C as Strategy>::Value>, Option<<D as Strategy>::Value>)>
The value tree generated by this
Strategy
. Read moresource§fn new_value(&self, runner: &mut TestRunner) -> NewTree<Self>
fn new_value(&self, runner: &mut TestRunner) -> NewTree<Self>
Generate a new value tree from the given runner. Read more
source§fn prop_map<O: Debug, F: Fn(ValueFor<Self>) -> O>(self, fun: F) -> Map<Self, F>where
Self: Sized,
fn prop_map<O: Debug, F: Fn(ValueFor<Self>) -> O>(self, fun: F) -> Map<Self, F>where
Self: Sized,
Returns a strategy which produces values transformed by the function
fun
. Read moresource§fn prop_map_into<O: Debug>(self) -> MapInto<Self, O>where
Self: Sized,
ValueFor<Self>: Into<O>,
fn prop_map_into<O: Debug>(self) -> MapInto<Self, O>where
Self: Sized,
ValueFor<Self>: Into<O>,
source§fn prop_perturb<O: Debug, F: Fn(ValueFor<Self>, XorShiftRng) -> O>(
self,
fun: F
) -> Perturb<Self, F>where
Self: Sized,
fn prop_perturb<O: Debug, F: Fn(ValueFor<Self>, XorShiftRng) -> O>(
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 moresource§fn prop_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> Flatten<Map<Self, F>>where
Self: Sized,
fn prop_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
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
source§fn prop_ind_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> IndFlatten<Map<Self, F>>where
Self: Sized,
fn prop_ind_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
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
source§fn prop_ind_flat_map2<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> IndFlattenMap<Self, F>where
Self: Sized,
fn prop_ind_flat_map2<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
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 moresource§fn prop_filter<R: Into<Reason>, F: Fn(&ValueFor<Self>) -> bool>(
self,
whence: R,
fun: F
) -> Filter<Self, F>where
Self: Sized,
fn prop_filter<R: Into<Reason>, F: Fn(&ValueFor<Self>) -> bool>(
self,
whence: R,
fun: F
) -> Filter<Self, F>where
Self: Sized,
Returns a strategy which only produces values accepted by
fun
. 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<ValueFor<Self>, F>where
Self: Sized + 'static,
F: Fn(BoxedStrategy<ValueFor<Self>>) -> R,
R: Strategy + 'static,
R::Value: ValueTree<Value = ValueFor<Self>>,
fn prop_recursive<R, F>(
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<ValueFor<Self>, F>where
Self: Sized + 'static,
F: Fn(BoxedStrategy<ValueFor<Self>>) -> R,
R: Strategy + 'static,
R::Value: ValueTree<Value = ValueFor<Self>>,
Generate a recursive structure with
self
items as leaves. Read moresource§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>>,
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>>,
§type Value = TupleUnionValueTree<(<A as Strategy>::Value, Option<<B as Strategy>::Value>, Option<<C as Strategy>::Value>)>
type Value = TupleUnionValueTree<(<A as Strategy>::Value, Option<<B as Strategy>::Value>, Option<<C as Strategy>::Value>)>
The value tree generated by this
Strategy
. Read moresource§fn new_value(&self, runner: &mut TestRunner) -> NewTree<Self>
fn new_value(&self, runner: &mut TestRunner) -> NewTree<Self>
Generate a new value tree from the given runner. Read more
source§fn prop_map<O: Debug, F: Fn(ValueFor<Self>) -> O>(self, fun: F) -> Map<Self, F>where
Self: Sized,
fn prop_map<O: Debug, F: Fn(ValueFor<Self>) -> O>(self, fun: F) -> Map<Self, F>where
Self: Sized,
Returns a strategy which produces values transformed by the function
fun
. Read moresource§fn prop_map_into<O: Debug>(self) -> MapInto<Self, O>where
Self: Sized,
ValueFor<Self>: Into<O>,
fn prop_map_into<O: Debug>(self) -> MapInto<Self, O>where
Self: Sized,
ValueFor<Self>: Into<O>,
source§fn prop_perturb<O: Debug, F: Fn(ValueFor<Self>, XorShiftRng) -> O>(
self,
fun: F
) -> Perturb<Self, F>where
Self: Sized,
fn prop_perturb<O: Debug, F: Fn(ValueFor<Self>, XorShiftRng) -> O>(
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 moresource§fn prop_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> Flatten<Map<Self, F>>where
Self: Sized,
fn prop_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
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
source§fn prop_ind_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> IndFlatten<Map<Self, F>>where
Self: Sized,
fn prop_ind_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
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
source§fn prop_ind_flat_map2<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> IndFlattenMap<Self, F>where
Self: Sized,
fn prop_ind_flat_map2<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
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 moresource§fn prop_filter<R: Into<Reason>, F: Fn(&ValueFor<Self>) -> bool>(
self,
whence: R,
fun: F
) -> Filter<Self, F>where
Self: Sized,
fn prop_filter<R: Into<Reason>, F: Fn(&ValueFor<Self>) -> bool>(
self,
whence: R,
fun: F
) -> Filter<Self, F>where
Self: Sized,
Returns a strategy which only produces values accepted by
fun
. 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<ValueFor<Self>, F>where
Self: Sized + 'static,
F: Fn(BoxedStrategy<ValueFor<Self>>) -> R,
R: Strategy + 'static,
R::Value: ValueTree<Value = ValueFor<Self>>,
fn prop_recursive<R, F>(
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<ValueFor<Self>, F>where
Self: Sized + 'static,
F: Fn(BoxedStrategy<ValueFor<Self>>) -> R,
R: Strategy + 'static,
R::Value: ValueTree<Value = ValueFor<Self>>,
Generate a recursive structure with
self
items as leaves. Read moresource§impl<A: Strategy, B: Strategy> Strategy for TupleUnion<(W<A>, W<B>)>where
B::Value: ValueTree<Value = ValueFor<A>>,
impl<A: Strategy, B: Strategy> Strategy for TupleUnion<(W<A>, W<B>)>where
B::Value: ValueTree<Value = ValueFor<A>>,
§type Value = TupleUnionValueTree<(<A as Strategy>::Value, Option<<B as Strategy>::Value>)>
type Value = TupleUnionValueTree<(<A as Strategy>::Value, Option<<B as Strategy>::Value>)>
The value tree generated by this
Strategy
. Read moresource§fn new_value(&self, runner: &mut TestRunner) -> NewTree<Self>
fn new_value(&self, runner: &mut TestRunner) -> NewTree<Self>
Generate a new value tree from the given runner. Read more
source§fn prop_map<O: Debug, F: Fn(ValueFor<Self>) -> O>(self, fun: F) -> Map<Self, F>where
Self: Sized,
fn prop_map<O: Debug, F: Fn(ValueFor<Self>) -> O>(self, fun: F) -> Map<Self, F>where
Self: Sized,
Returns a strategy which produces values transformed by the function
fun
. Read moresource§fn prop_map_into<O: Debug>(self) -> MapInto<Self, O>where
Self: Sized,
ValueFor<Self>: Into<O>,
fn prop_map_into<O: Debug>(self) -> MapInto<Self, O>where
Self: Sized,
ValueFor<Self>: Into<O>,
source§fn prop_perturb<O: Debug, F: Fn(ValueFor<Self>, XorShiftRng) -> O>(
self,
fun: F
) -> Perturb<Self, F>where
Self: Sized,
fn prop_perturb<O: Debug, F: Fn(ValueFor<Self>, XorShiftRng) -> O>(
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 moresource§fn prop_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> Flatten<Map<Self, F>>where
Self: Sized,
fn prop_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
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
source§fn prop_ind_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> IndFlatten<Map<Self, F>>where
Self: Sized,
fn prop_ind_flat_map<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
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
source§fn prop_ind_flat_map2<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
self,
fun: F
) -> IndFlattenMap<Self, F>where
Self: Sized,
fn prop_ind_flat_map2<S: Strategy, F: Fn(ValueFor<Self>) -> S>(
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 moresource§fn prop_filter<R: Into<Reason>, F: Fn(&ValueFor<Self>) -> bool>(
self,
whence: R,
fun: F
) -> Filter<Self, F>where
Self: Sized,
fn prop_filter<R: Into<Reason>, F: Fn(&ValueFor<Self>) -> bool>(
self,
whence: R,
fun: F
) -> Filter<Self, F>where
Self: Sized,
Returns a strategy which only produces values accepted by
fun
. 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<ValueFor<Self>, F>where
Self: Sized + 'static,
F: Fn(BoxedStrategy<ValueFor<Self>>) -> R,
R: Strategy + 'static,
R::Value: ValueTree<Value = ValueFor<Self>>,
fn prop_recursive<R, F>(
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<ValueFor<Self>, F>where
Self: Sized + 'static,
F: Fn(BoxedStrategy<ValueFor<Self>>) -> R,
R: Strategy + 'static,
R::Value: ValueTree<Value = ValueFor<Self>>,
Generate a recursive structure with
self
items as leaves. Read more