use fakes_gen::date_time_format::{
DEFAULT_DATE_FORMAT, DEFAULT_DATE_TIME_FORMAT, DEFAULT_TIME_FORMAT,
};
use fakes_gen::faker::fake_options::FakeOption;
use fakes_gen::faker::locale::Locale;
use fakes_gen::faker::Faker;
use rand::rngs::ThreadRng;
use rand::thread_rng;
fn main() {
use FakeOption::*;
let all_options: Vec<FakeOption> = vec![
Join(
"/".to_string(),
vec![
Box::new(FixedString("".to_string())),
Box::new(UserName),
Box::new(UserName),
Box::new(Join(
"_".to_string(),
vec![
Box::new(UserName),
Box::new(UserName),
Box::new(DateTime("%Y".to_string())),
],
)),
],
),
FixedString("Dummy String".to_string()),
FixedNotString("Dummy not String".to_string()),
SelectString(vec![
"str1".to_string(),
"str2".to_string(),
"str3".to_string(),
]),
SelectNotString(vec![
"not-str1".to_string(),
"not-str2".to_string(),
"not-str3".to_string(),
]),
Word,
Words(3, 10),
Sentence,
Sentences(3, 10),
Paragraph,
Paragraphs(3, 10),
FirstName(true),
FirstName(false),
FirstNameFurigana,
LastName(true),
LastName(false),
LastNameFurigana,
FullName(true),
FullName(false),
FullNameFurigana,
Integer,
IntegerRange(-10, 10),
Float,
FloatRange(-10, 10),
Ascii(8, 15),
Boolean,
Email,
UserName,
Password(8, 15),
CreditCard,
URL,
IPv4,
IPv6,
RGB,
RGBA,
UserAgent,
StatusCode,
CompanySuffix,
CompanyName,
Industry,
Building,
StreetName,
CityName,
StateName,
CountryCode,
CountryName,
TimeZone,
Address,
ZipCode(true),
ZipCode(false),
DomesticPhoneNumber(true),
DomesticPhoneNumber(false),
Latitude,
Longitude,
Time(DEFAULT_TIME_FORMAT.to_string()),
Date(DEFAULT_DATE_FORMAT.to_string()),
DateTime(DEFAULT_DATE_TIME_FORMAT.to_string()),
FileName,
Extension,
];
let mut faker: Faker<ThreadRng> = Faker::new(thread_rng(), Locale::Japan);
println!("locale: {}", faker.locale());
for option in all_options {
let res: String = faker.gen(&option);
print_with_category(&option, &res);
}
}
fn print_with_category(option: &FakeOption, res: &str) {
println!("{}: {}", option, res);
}