Trait suppositions::generators::Generator [] [src]

pub trait Generator {
    type Item;
    fn generate<I: Iterator<Item = u8>>(&self, src: &mut I) -> Maybe<Self::Item>;

    fn generate_from(&self, src: &InfoPool) -> Maybe<Self::Item> { ... }
fn filter<F: Fn(&Self::Item) -> bool>(self, pred: F) -> Filtered<Self, F>
    where
        Self: Sized
, { ... }
fn filter_map<R, F: Fn(Self::Item) -> Maybe<R>>(
        self,
        fun: F
    ) -> FilterMapped<Self, F>
    where
        Self: Sized
, { ... }
fn map<R, F: Fn(Self::Item) -> R>(self, fun: F) -> Mapped<Self, F>
    where
        Self: Sized
, { ... } }

An object that can generate test data from an underlying data source.

In order for shrinking to work correctly; we need to ensure that the output values get smaller as the input bytes get smaller (usually by input value).

Associated Types

The type of values that we can generate.

Required Methods

This consumes a stream of bytes given by source, and generates a value of type Self::Item.

Provided Methods

A convenience function to generate a value directly from an InfoPool.

Returns a generator that will skip values generated by self when the predicate pred returns false.

A generator that takes the values generated by self; then allows fun to either Skip them (by returning Err(DataError::SkipItem) or transform (by returning Ok(val)).

A generator that takes the generated values of self and pipes them through fun.

Implementations on Foreign Types

impl<T> Generator for Box<GeneratorObject<Item = T>>
[src]

[src]

[src]

[src]

[src]

[src]

impl<A: Generator, B: Generator> Generator for (A, B)
[src]

[src]

[src]

[src]

[src]

[src]

impl<A: Generator, B: Generator, C: Generator> Generator for (A, B, C)
[src]

[src]

[src]

[src]

[src]

[src]

impl<A: Generator, B: Generator, C: Generator, D: Generator> Generator for (A, B, C, D)
[src]

[src]

[src]

[src]

[src]

[src]

impl<A: Generator, B: Generator, C: Generator, D: Generator, E: Generator> Generator for (A, B, C, D, E)
[src]

[src]

[src]

[src]

[src]

[src]

impl<A: Generator, B: Generator, C: Generator, D: Generator, E: Generator, F: Generator> Generator for (A, B, C, D, E, F)
[src]

[src]

[src]

[src]

[src]

[src]

impl<A: Generator, B: Generator, C: Generator, D: Generator, E: Generator, F: Generator, G: Generator> Generator for (A, B, C, D, E, F, G)
[src]

[src]

[src]

[src]

[src]

[src]

impl<A: Generator, B: Generator, C: Generator, D: Generator, E: Generator, F: Generator, G: Generator, H: Generator> Generator for (A, B, C, D, E, F, G, H)
[src]

[src]

[src]

[src]

[src]

[src]

impl<A: Generator, B: Generator, C: Generator, D: Generator, E: Generator, F: Generator, G: Generator, H: Generator, I: Generator> Generator for (A, B, C, D, E, F, G, H, I)
[src]

[src]

[src]

[src]

[src]

[src]

impl<A: Generator, B: Generator, C: Generator, D: Generator, E: Generator, F: Generator, G: Generator, H: Generator, I: Generator, J: Generator> Generator for (A, B, C, D, E, F, G, H, I, J)
[src]

[src]

[src]

[src]

[src]

[src]

impl<A: Generator, B: Generator, C: Generator, D: Generator, E: Generator, F: Generator, G: Generator, H: Generator, I: Generator, J: Generator, K: Generator> Generator for (A, B, C, D, E, F, G, H, I, J, K)
[src]

[src]

[src]

[src]

[src]

[src]

impl<A: Generator, B: Generator, C: Generator, D: Generator, E: Generator, F: Generator, G: Generator, H: Generator, I: Generator, J: Generator, K: Generator, L: Generator> Generator for (A, B, C, D, E, F, G, H, I, J, K, L)
[src]

[src]

[src]

[src]

[src]

[src]

Implementors