[−][src]Struct un_algebra::tests::config::prop::strategy::LazyJust
A Strategy
which always produces a single value value and never
simplifies. If T
is Clone
, you should use Just
instead.
This is a generalization of Just
and works by calling
the provided Fn () -> T
in .current()
every time. This is not a
very interesting strategy, but is required in cases where T
is
not Clone
. It is also used in proptest_derive
where we can't
assume that your type is Clone
.
It is important that the function used be pure.
Methods
impl<T, F> LazyJust<T, F> where
F: Fn() -> T,
[src]
F: Fn() -> T,
pub fn new(function: F) -> LazyJust<T, F>
[src]
Constructs a LazyJust
strategy given the function/closure
that produces the value.
It is important that the function used be pure.
Trait Implementations
impl<T, F> Debug for LazyJust<T, F> where
F: Fn() -> T,
[src]
F: Fn() -> T,
impl<T, F> Copy for LazyJust<T, F> where
F: Copy + Fn() -> T,
[src]
F: Copy + Fn() -> T,
impl<T, F> Clone for LazyJust<T, F> where
F: Fn() -> T + Clone,
[src]
F: Fn() -> T + Clone,
impl<T, F> ValueTree for LazyJust<T, F> where
F: Fn() -> T,
T: Debug,
[src]
F: Fn() -> T,
T: Debug,
type Value = T
The type of the value produced by this ValueTree
.
fn simplify(&mut self) -> bool
[src]
fn complicate(&mut self) -> bool
[src]
fn current(&self) -> <LazyJust<T, F> as ValueTree>::Value
[src]
impl<T, F> Strategy for LazyJust<T, F> where
F: Fn() -> T + Clone,
T: Debug,
[src]
F: Fn() -> T + Clone,
T: Debug,
type Tree = LazyJust<T, F>
The value tree generated by this Strategy
.
type Value = T
The type of value used by functions under test generated by this Strategy. Read more
fn new_tree(
&self,
&mut TestRunner
) -> Result<<LazyJust<T, F> as Strategy>::Tree, Reason>
[src]
&self,
&mut TestRunner
) -> Result<<LazyJust<T, F> as Strategy>::Tree, Reason>
fn prop_map<O, F>(self, fun: F) -> Map<Self, F> where
F: Fn(Self::Value) -> O,
O: Debug,
[src]
F: Fn(Self::Value) -> O,
O: Debug,
fn prop_map_into<O>(self) -> MapInto<Self, O> where
O: Debug,
Self::Value: Into<O>,
[src]
O: Debug,
Self::Value: Into<O>,
fn prop_perturb<O, F>(self, fun: F) -> Perturb<Self, F> where
F: Fn(Self::Value, TestRng) -> O,
O: Debug,
[src]
F: Fn(Self::Value, TestRng) -> O,
O: Debug,
fn prop_flat_map<S, F>(self, fun: F) -> Flatten<Map<Self, F>> where
F: Fn(Self::Value) -> S,
S: Strategy,
[src]
F: Fn(Self::Value) -> S,
S: Strategy,
fn prop_ind_flat_map<S, F>(self, fun: F) -> IndFlatten<Map<Self, F>> where
F: Fn(Self::Value) -> S,
S: Strategy,
[src]
F: Fn(Self::Value) -> S,
S: Strategy,
fn prop_ind_flat_map2<S, F>(self, fun: F) -> IndFlattenMap<Self, F> where
F: Fn(Self::Value) -> S,
S: Strategy,
[src]
F: Fn(Self::Value) -> S,
S: Strategy,
fn prop_filter<R, F>(self, whence: R, fun: F) -> Filter<Self, F> where
F: Fn(&Self::Value) -> bool,
R: Into<Reason>,
[src]
F: Fn(&Self::Value) -> bool,
R: Into<Reason>,
fn prop_filter_map<F, O>(
self,
whence: impl Into<Reason>,
fun: F
) -> FilterMap<Self, F> where
F: Fn(Self::Value) -> Option<O>,
O: Debug,
[src]
self,
whence: impl Into<Reason>,
fun: F
) -> FilterMap<Self, F> where
F: Fn(Self::Value) -> Option<O>,
O: Debug,
fn prop_union(self, other: Self) -> Union<Self>
[src]
fn prop_recursive<R, F>(
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<Self::Value, F> where
F: Fn(BoxedStrategy<Self::Value>) -> R,
R: 'static + Strategy<Value = Self::Value>,
Self: 'static,
[src]
self,
depth: u32,
desired_size: u32,
expected_branch_size: u32,
recurse: F
) -> Recursive<Self::Value, F> where
F: Fn(BoxedStrategy<Self::Value>) -> R,
R: 'static + Strategy<Value = Self::Value>,
Self: 'static,
fn prop_shuffle(self) -> Shuffle<Self> where
Self::Value: Shuffleable,
[src]
Self::Value: Shuffleable,
fn boxed(self) -> BoxedStrategy<Self::Value> where
Self: 'static,
[src]
Self: 'static,
fn sboxed(self) -> SBoxedStrategy<Self::Value> where
Self: Send + Sync + 'static,
[src]
Self: Send + Sync + 'static,
fn no_shrink(self) -> NoShrink<Self>
[src]
Auto Trait Implementations
impl<T, F> Send for LazyJust<T, F> where
F: Send,
F: Send,
impl<T, F> Sync for LazyJust<T, F> where
F: Sync,
F: Sync,
impl<T, F> Unpin for LazyJust<T, F> where
F: Unpin,
F: Unpin,
impl<T, F> UnwindSafe for LazyJust<T, F> where
F: UnwindSafe,
F: UnwindSafe,
impl<T, F> RefUnwindSafe for LazyJust<T, F> where
F: RefUnwindSafe,
F: RefUnwindSafe,
Blanket Implementations
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.
fn to_owned(&self) -> T
[src]
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 = !
The type returned in the event of a conversion error.
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.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,