pub enum Generator {
Show 13 variants RandomInt(i32, i32), Uuid(Option<UuidFormat>), RandomDecimal(u16), RandomHexadecimal(u16), RandomString(u16), Regex(String), Date(Option<String>, Option<String>), Time(Option<String>, Option<String>), DateTime(Option<String>, Option<String>), RandomBoolean, ProviderStateGenerator(String, Option<DataType>), MockServerURL(String, String), ArrayContains(Vec<(usize, MatchingRuleCategory, HashMap<DocPath, Generator>)>),
}
Expand description

Trait to represent a generator

Variants§

§

RandomInt(i32, i32)

Generates a random integer between the min and max values

§

Uuid(Option<UuidFormat>)

Generates a random UUID value

§

RandomDecimal(u16)

Generates a random sequence of digits

§

RandomHexadecimal(u16)

Generates a random sequence of hexadecimal digits

§

RandomString(u16)

Generates a random string of the provided size

§

Regex(String)

Generates a random string that matches the provided regex

§

Date(Option<String>, Option<String>)

Generates a random date that matches either the provided format or the ISO format

§

Time(Option<String>, Option<String>)

Generates a random time that matches either the provided format or the ISO format

§

DateTime(Option<String>, Option<String>)

Generates a random timestamp that matches either the provided format or the ISO format

§

RandomBoolean

Generates a random boolean value

§

ProviderStateGenerator(String, Option<DataType>)

Generates a value that is looked up from the provider state context

§

MockServerURL(String, String)

Generates a URL with the mock server as the base URL

§

ArrayContains(Vec<(usize, MatchingRuleCategory, HashMap<DocPath, Generator>)>)

List of variants which can have embedded generators

Implementations§

source§

impl Generator

source

pub fn to_json(&self) -> Option<Value>

Convert this generator to a JSON struct

source

pub fn from_map(gen_type: &str, map: &Map<String, Value>) -> Option<Generator>

Converts a JSON map into a Generator struct, returning None if it can not be converted.

source

pub fn corresponds_to_mode(&self, mode: &GeneratorTestMode) -> bool

If this generator is compatible with the given generator mode

source

pub fn name(&self) -> String

Returns the type name of this generator

source

pub fn values(&self) -> HashMap<&'static str, Value>

Returns the values for this generator

source

pub fn create(generator_type: &str, attributes: &Value) -> Result<Generator>

Create a generator from a type and a map of attributes

Trait Implementations§

source§

impl Clone for Generator

source§

fn clone(&self) -> Generator

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Generator

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl GenerateValue<String> for Generator

source§

fn generate_value( &self, _: &String, context: &HashMap<&str, Value>, _matcher: &Box<dyn VariantMatcher + Send + Sync> ) -> Result<String>

Generates a new value based on the source value. An error will be returned if the value can not be generated.
source§

impl GenerateValue<Value> for Generator

source§

fn generate_value( &self, value: &Value, context: &HashMap<&str, Value>, matcher: &Box<dyn VariantMatcher + Send + Sync> ) -> Result<Value>

Generates a new value based on the source value. An error will be returned if the value can not be generated.
source§

impl GenerateValue<Vec<String, Global>> for Generator

source§

fn generate_value( &self, vals: &Vec<String>, context: &HashMap<&str, Value>, matcher: &Box<dyn VariantMatcher + Send + Sync> ) -> Result<Vec<String>>

Generates a new value based on the source value. An error will be returned if the value can not be generated.
source§

impl GenerateValue<u16> for Generator

source§

fn generate_value( &self, value: &u16, context: &HashMap<&str, Value>, _matcher: &Box<dyn VariantMatcher + Send + Sync> ) -> Result<u16>

Generates a new value based on the source value. An error will be returned if the value can not be generated.
source§

impl Hash for Generator

source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq<Generator> for Generator

source§

fn eq(&self, other: &Self) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for Generator

source§

impl StructuralEq for Generator

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more