Trait bolero_generator::ValueGenerator
source · pub trait ValueGenerator: Sized {
type Output;
// Required method
fn generate<D: Driver>(&self, driver: &mut D) -> Option<Self::Output>;
// Provided methods
fn mutate<D: Driver>(
&self,
driver: &mut D,
value: &mut Self::Output
) -> Option<()> { ... }
fn map<F: Fn(Self::Output) -> T, T>(self, map: F) -> MapGenerator<Self, F> { ... }
fn map_gen<F: Fn(Self::Output) -> T, T>(
self,
map: F
) -> MapGenerator<Self, F> { ... }
fn and_then<F: Fn(Self::Output) -> T, T: ValueGenerator>(
self,
and_then: F
) -> AndThenGenerator<Self, F> { ... }
fn and_then_gen<F: Fn(Self::Output) -> T, T: ValueGenerator>(
self,
and_then: F
) -> AndThenGenerator<Self, F> { ... }
fn filter<F: Fn(&Self::Output) -> bool>(
self,
filter: F
) -> FilterGenerator<Self, F> { ... }
fn filter_gen<F: Fn(&Self::Output) -> bool>(
self,
filter: F
) -> FilterGenerator<Self, F> { ... }
fn filter_map<F: Fn(Self::Output) -> Option<T>, T>(
self,
filter_map: F
) -> FilterMapGenerator<Self, F> { ... }
fn filter_map_gen<F: Fn(Self::Output) -> Option<T>, T>(
self,
filter_map: F
) -> FilterMapGenerator<Self, F> { ... }
}
Expand description
Generate a value with a parameterized generator
Required Associated Types§
Required Methods§
Provided Methods§
sourcefn mutate<D: Driver>(
&self,
driver: &mut D,
value: &mut Self::Output
) -> Option<()>
fn mutate<D: Driver>( &self, driver: &mut D, value: &mut Self::Output ) -> Option<()>
Mutates an existing value with the given driver
sourcefn map<F: Fn(Self::Output) -> T, T>(self, map: F) -> MapGenerator<Self, F>
fn map<F: Fn(Self::Output) -> T, T>(self, map: F) -> MapGenerator<Self, F>
Map the value of a generator
sourcefn map_gen<F: Fn(Self::Output) -> T, T>(self, map: F) -> MapGenerator<Self, F>
fn map_gen<F: Fn(Self::Output) -> T, T>(self, map: F) -> MapGenerator<Self, F>
Map the value of a generator, exists to reduce conflicts with
other map
functions.
sourcefn and_then<F: Fn(Self::Output) -> T, T: ValueGenerator>(
self,
and_then: F
) -> AndThenGenerator<Self, F>
fn and_then<F: Fn(Self::Output) -> T, T: ValueGenerator>( self, and_then: F ) -> AndThenGenerator<Self, F>
Map the value of a generator with a new generator
sourcefn and_then_gen<F: Fn(Self::Output) -> T, T: ValueGenerator>(
self,
and_then: F
) -> AndThenGenerator<Self, F>
fn and_then_gen<F: Fn(Self::Output) -> T, T: ValueGenerator>( self, and_then: F ) -> AndThenGenerator<Self, F>
Map the value of a generator with a new generator, exists to
reduce conflicts with other map
functions.
sourcefn filter<F: Fn(&Self::Output) -> bool>(
self,
filter: F
) -> FilterGenerator<Self, F>
fn filter<F: Fn(&Self::Output) -> bool>( self, filter: F ) -> FilterGenerator<Self, F>
Filter the value of a generator
sourcefn filter_gen<F: Fn(&Self::Output) -> bool>(
self,
filter: F
) -> FilterGenerator<Self, F>
fn filter_gen<F: Fn(&Self::Output) -> bool>( self, filter: F ) -> FilterGenerator<Self, F>
Filter the value of a generator, exists to
reduce conflicts with other filter
functions.
sourcefn filter_map<F: Fn(Self::Output) -> Option<T>, T>(
self,
filter_map: F
) -> FilterMapGenerator<Self, F>
fn filter_map<F: Fn(Self::Output) -> Option<T>, T>( self, filter_map: F ) -> FilterMapGenerator<Self, F>
Filter the value of a generator and map it to something else
sourcefn filter_map_gen<F: Fn(Self::Output) -> Option<T>, T>(
self,
filter_map: F
) -> FilterMapGenerator<Self, F>
fn filter_map_gen<F: Fn(Self::Output) -> Option<T>, T>( self, filter_map: F ) -> FilterMapGenerator<Self, F>
Filter the value of a generator and map it to something else, exists to
reduce conflicts with other filter_map
functions.