Struct fuzzcheck::mutators::alternation::AlternationMutator [−][src]
Expand description
A mutator that wraps multiple different mutators of the same type.
use fuzzcheck::mutators::alternation::AlternationMutator;
use fuzzcheck::mutators::integer_within_range::U8WithinRangeMutator;
let m1 = U8WithinRangeMutator::new(3 ..= 10);
let m2 = U8WithinRangeMutator::new(78 ..= 200);
let m = AlternationMutator::new(vec![m1, m2]);
// m will produce values either in 3..=10 or in 78..=200
Implementations
Trait Implementations
type MutationStep: Clone
type MutationStep: Clone
Contains information about what mutations have already been tried.
type ArbitraryStep: Clone
type ArbitraryStep: Clone
Contains information about what arbitrary values have already been generated.
type UnmutateToken
type UnmutateToken
Describes how to reverse a mutation
The first ArbitraryStep
value to be passed to ordered_arbitrary
Verifies that the value conforms to the mutator’s expectations and, if it does,
returns the Cache
and first MutationStep
associated with that value. Read more
The maximum complexity that a value can possibly have. Read more
The minimum complexity that a value can possibly have. Read more
Computes the complexity of the value. Read more
fn ordered_arbitrary(
&self,
step: &mut Self::ArbitraryStep,
max_cplx: f64
) -> Option<(Value, f64)>
fn ordered_arbitrary(
&self,
step: &mut Self::ArbitraryStep,
max_cplx: f64
) -> Option<(Value, f64)>
Generates an entirely new value based on the given ArbitraryStep
. Read more
Generates an entirely new value. Read more
fn ordered_mutate(
&self,
value: &mut Value,
cache: &mut Self::Cache,
step: &mut Self::MutationStep,
max_cplx: f64
) -> Option<(Self::UnmutateToken, f64)>
fn ordered_mutate(
&self,
value: &mut Value,
cache: &mut Self::Cache,
step: &mut Self::MutationStep,
max_cplx: f64
) -> Option<(Self::UnmutateToken, f64)>
Mutates a value (and optionally its cache) based on the given
MutationStep
. Read more
fn random_mutate(
&self,
value: &mut Value,
cache: &mut Self::Cache,
max_cplx: f64
) -> (Self::UnmutateToken, f64)
fn random_mutate(
&self,
value: &mut Value,
cache: &mut Self::Cache,
max_cplx: f64
) -> (Self::UnmutateToken, f64)
Mutates a value (and optionally its cache). Read more
Undoes a mutation performed on the given value and cache, described by
the given UnmutateToken
. Read more