Struct warlocks_cauldron::ComplexProvider
source · pub struct ComplexProvider<'a> {
pub address: Address<'a>,
pub date: Datetime<'a>,
pub finance: Finance<'a>,
pub food: Food<'a>,
pub person: Person<'a>,
pub text: Text<'a>,
}Expand description
Collection of every provider, which uses locales
Fields§
§address: Address<'a>§date: Datetime<'a>§finance: Finance<'a>§food: Food<'a>§person: Person<'a>§text: Text<'a>Implementations§
source§impl<'a> ComplexProvider<'a>
impl<'a> ComplexProvider<'a>
sourcepub fn new(locale: &'a Locale) -> Self
pub fn new(locale: &'a Locale) -> Self
Examples found in repository?
examples/pool.rs (line 17)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
fn main() {
let some_pool = RandomPool::new(vec![
"TEST", "test", "TeSt", "tEsT",
]);
println!("Something any: {}", some_pool.get());
let address_pool = RandomPool::new(vec![
Address(&Locale::EN), Address(&Locale::RU),
]);
println!("Random address: {}", address_pool.get().city());
let complex_pool = RandomPool::new(vec![
ComplexProvider::new(&Locale::EN), ComplexProvider::new(&Locale::RU),
]);
println!("Random complex provider: {}", complex_pool.get().person.name(Some(Gender::MALE)))
}More examples
examples/simple.rs (line 5)
3 4 5 6 7 8 9 10 11 12 13 14 15 16
fn main() {
// A common option for most providers
let complex = ComplexProvider::new(&Locale::EN);
println!("Person: {}", complex.person.full_name(None, false));
println!("Telephone: {}", complex.person.telephone(None));
println!("Address: {}", complex.address.full_address());
println!("Birthday: {}", Datetime::date(1940, 2000));
println!("Weight: {} kg", Person::weight(30, 90));
println!("Height: {} m", Person::height(1.5, 2.0));
// But you can also use single providers
let russian_person = Person(&Locale::RU);
println!("Their Russian friend: {}", russian_person.full_name(Some(Gender::MALE), false));
}