Struct proptest::bits::SampledBitSetStrategy [−][src]
#[must_use = "strategies do nothing unless used"]pub struct SampledBitSetStrategy<T: BitSetLike> { /* fields omitted */ }
Generates bit sets with a particular number of bits set.
Specifically, this strategy is given both a size range and a bit range. To produce a new value, it selects a size, then uniformly selects that many bits from within the bit range.
Shrinking happens as with BitSetStrategy
.
Methods
impl<T: BitSetLike> SampledBitSetStrategy<T>
[src]
impl<T: BitSetLike> SampledBitSetStrategy<T>
pub fn new(
size: impl Into<SizeRange>,
bits: impl Into<SizeRange>
) -> Self
[src]
pub fn new(
size: impl Into<SizeRange>,
bits: impl Into<SizeRange>
) -> Self
Create a strategy which generates values where bits within the bounds
given by bits
may be set. The number of bits that are set is chosen
to be in the range given by size
.
Due to the generics, the functions in the typed submodules are usually preferable to calling this directly.
Panics
Panics if size
includes a value that is greater than the number of
bits in bits
.
Trait Implementations
impl<T: Clone + BitSetLike> Clone for SampledBitSetStrategy<T>
[src]
impl<T: Clone + BitSetLike> Clone for SampledBitSetStrategy<T>
fn clone(&self) -> SampledBitSetStrategy<T>
[src]
fn clone(&self) -> SampledBitSetStrategy<T>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl<T: Debug + BitSetLike> Debug for SampledBitSetStrategy<T>
[src]
impl<T: Debug + BitSetLike> Debug for SampledBitSetStrategy<T>
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl<T: BitSetLike> Strategy for SampledBitSetStrategy<T>
[src]
impl<T: BitSetLike> Strategy for SampledBitSetStrategy<T>
type Tree = BitSetValueTree<T>
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, runner: &mut TestRunner) -> NewTree<Self>
[src]
fn new_tree(&self, runner: &mut TestRunner) -> NewTree<Self>
Generate a new value tree from the given runner. Read more
fn prop_map<O: Debug, F: Fn(Self::Value) -> O>(self, fun: F) -> Map<Self, F> where
Self: Sized,
[src]
fn prop_map<O: Debug, F: Fn(Self::Value) -> O>(self, fun: F) -> Map<Self, F> where
Self: Sized,
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]
fn prop_map_into<O: Debug>(self) -> MapInto<Self, O> where
Self: Sized,
Self::Value: Into<O>,
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]
fn prop_perturb<O: Debug, F: Fn(Self::Value, TestRng) -> 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 more
fn prop_flat_map<S: Strategy, F: Fn(Self::Value) -> S>(
self,
fun: F
) -> Flatten<Map<Self, F>> where
Self: Sized,
[src]
fn prop_flat_map<S: Strategy, F: Fn(Self::Value) -> 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
fn prop_ind_flat_map<S: Strategy, F: Fn(Self::Value) -> S>(
self,
fun: F
) -> IndFlatten<Map<Self, F>> where
Self: Sized,
[src]
fn prop_ind_flat_map<S: Strategy, F: Fn(Self::Value) -> 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
fn prop_ind_flat_map2<S: Strategy, F: Fn(Self::Value) -> S>(
self,
fun: F
) -> IndFlattenMap<Self, F> where
Self: Sized,
[src]
fn prop_ind_flat_map2<S: Strategy, F: Fn(Self::Value) -> 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 more
fn prop_filter<R: Into<Reason>, F: Fn(&Self::Value) -> bool>(
self,
whence: R,
fun: F
) -> Filter<Self, F> where
Self: Sized,
[src]
fn prop_filter<R: Into<Reason>, F: Fn(&Self::Value) -> bool>(
self,
whence: R,
fun: F
) -> Filter<Self, F> where
Self: Sized,
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]
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,
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]
fn prop_union(self, other: Self) -> Union<Self> where
Self: Sized,
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]
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,
Generate a recursive structure with self
items as leaves. Read more
fn prop_shuffle(self) -> Shuffle<Self> where
Self: Sized,
Self::Value: Shuffleable,
[src]
fn prop_shuffle(self) -> Shuffle<Self> where
Self: Sized,
Self::Value: Shuffleable,
Shuffle the contents of the values produced by this strategy. Read more
fn boxed(self) -> BoxedStrategy<Self::Value> where
Self: Sized + 'static,
[src]
fn boxed(self) -> BoxedStrategy<Self::Value> where
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<Self::Value> where
Self: Sized + Send + Sync + 'static,
[src]
fn sboxed(self) -> SBoxedStrategy<Self::Value> where
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]
fn no_shrink(self) -> NoShrink<Self> where
Self: Sized,
Wraps this strategy to prevent values from being subject to shrinking. Read more
Auto Trait Implementations
impl<T> Send for SampledBitSetStrategy<T> where
T: Send,
impl<T> Send for SampledBitSetStrategy<T> where
T: Send,
impl<T> Sync for SampledBitSetStrategy<T> where
T: Sync,
impl<T> Sync for SampledBitSetStrategy<T> where
T: Sync,