Struct proptest::strategy::Union [−][src]
A Strategy
which picks from one of several delegate Stragegy
s.
See Strategy::prop_union()
.
Implementations
impl<T: Strategy> Union<T>
[src]
pub fn new(options: impl IntoIterator<Item = T>) -> Self
[src]
Create a strategy which selects uniformly from the given delegate strategies.
When shrinking, after maximal simplification of the chosen element, the strategy will move to earlier options and continue simplification with those.
Panics
Panics if options
is empty.
pub fn new_weighted(options: Vec<W<T>>) -> Self
[src]
Create a strategy which selects from the given delegate strategies.
Each strategy is assigned a non-zero weight which determines how frequently that strategy is chosen. For example, a strategy with a weight of 2 will be chosen twice as frequently as one with a weight of 1.
Panics
Panics if options
is empty or any element has a weight of 0.
Panics if the sum of the weights overflows a u32
.
pub fn or(mut self: Self, other: T) -> Self
[src]
Add other
as an additional alternate strategy with weight 1.
Trait Implementations
impl<T: Clone + Strategy> Clone for Union<T>
[src]
fn clone(&self) -> Union<T>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<T: Debug + Strategy> Debug for Union<T>
[src]
impl<T: Strategy> Strategy for Union<T>
[src]
type Tree = UnionValueTree<T>
The value tree generated by this Strategy
.
type Value = T::Value
The type of value used by functions under test generated by this Strategy. Read more
fn new_tree(&self, runner: &mut TestRunner) -> NewTree<Self>
[src]
fn prop_map<O: Debug, F: Fn(Self::Value) -> O>(self, fun: F) -> Map<Self, F> where
Self: Sized,
[src]
Self: Sized,
fn prop_map_into<O: Debug>(self) -> MapInto<Self, O> where
Self: Sized,
Self::Value: Into<O>,
[src]
Self: Sized,
Self::Value: Into<O>,
fn prop_perturb<O: Debug, F: Fn(Self::Value, TestRng) -> O>(
self,
fun: F
) -> Perturb<Self, F> where
Self: Sized,
[src]
self,
fun: F
) -> Perturb<Self, F> where
Self: Sized,
fn prop_flat_map<S: Strategy, F: Fn(Self::Value) -> S>(
self,
fun: F
) -> Flatten<Map<Self, F>> where
Self: Sized,
[src]
self,
fun: F
) -> Flatten<Map<Self, F>> where
Self: Sized,
fn prop_ind_flat_map<S: Strategy, F: Fn(Self::Value) -> S>(
self,
fun: F
) -> IndFlatten<Map<Self, F>> where
Self: Sized,
[src]
self,
fun: F
) -> IndFlatten<Map<Self, F>> where
Self: Sized,
fn prop_ind_flat_map2<S: Strategy, F: Fn(Self::Value) -> S>(
self,
fun: F
) -> IndFlattenMap<Self, F> where
Self: Sized,
[src]
self,
fun: F
) -> IndFlattenMap<Self, F> where
Self: Sized,
fn prop_filter<R: Into<Reason>, F: Fn(&Self::Value) -> bool>(
self,
whence: R,
fun: F
) -> Filter<Self, F> where
Self: Sized,
[src]
self,
whence: R,
fun: F
) -> Filter<Self, F> where
Self: Sized,
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]
self,
whence: impl Into<Reason>,
fun: F
) -> FilterMap<Self, F> where
Self: Sized,
fn prop_union(self, other: Self) -> Union<Self> where
Self: Sized,
[src]
Self: Sized,
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]
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<Self::Value, F> where
Self: Sized + 'static,
fn prop_shuffle(self) -> Shuffle<Self> where
Self: Sized,
Self::Value: Shuffleable,
[src]
Self: Sized,
Self::Value: Shuffleable,
fn boxed(self) -> BoxedStrategy<Self::Value> where
Self: Sized + 'static,
[src]
Self: Sized + 'static,
fn sboxed(self) -> SBoxedStrategy<Self::Value> where
Self: Sized + Send + Sync + 'static,
[src]
Self: Sized + Send + Sync + 'static,
fn no_shrink(self) -> NoShrink<Self> where
Self: Sized,
[src]
Self: Sized,
Auto Trait Implementations
impl<T> Send for Union<T> where
T: Send + Sync,
[src]
T: Send + Sync,
impl<T> Sync for Union<T> where
T: Send + Sync,
[src]
T: Send + Sync,
impl<T> Unpin for Union<T>
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,