advanced_features/
advanced_features.rs1use faker_rust::{
5 address, company, internet, name, Faker,
6};
7
8fn main() {
9 println!("=== Faker-Rust Advanced Features Examples ===\n");
10
11 println!("🎲 DETERMINISTIC GENERATION (Seeded):");
13 println!("Setting seed to 12345...\n");
14
15 Faker::set_seed(12345);
16 let name1 = name::name();
17 let email1 = internet::email(None, None, None);
18 let city1 = address::city();
19
20 println!("First run:");
21 println!(" Name: {}", name1);
22 println!(" Email: {}", email1);
23 println!(" City: {}", city1);
24 println!();
25
26 Faker::set_seed(12345);
28 let name2 = name::name();
29 let email2 = internet::email(None, None, None);
30 let city2 = address::city();
31
32 println!("Second run (same seed):");
33 println!(" Name: {}", name2);
34 println!(" Email: {}", email2);
35 println!(" City: {}", city2);
36 println!();
37
38 if name1 == name2 && email1 == email2 && city1 == city2 {
40 println!("✅ SUCCESS: Same seed produces identical results!");
41 } else {
42 println!("❌ ERROR: Results differ despite same seed");
43 }
44 println!();
45
46 println!("Different seed (54321):");
48 Faker::set_seed(54321);
49 println!(" Name: {}", name::name());
50 println!(" Email: {}", internet::email(None, None, None));
51 println!(" City: {}", address::city());
52 println!();
53
54 println!("📊 BATCH GENERATION:");
56 println!("Generating 5 random companies:");
57 for i in 1..=5 {
58 println!(" {}. {} - {}", i, company::name(), company::catch_phrase());
59 }
60 println!();
61
62 println!("👤 FAKE USER PROFILES:");
64 for i in 1..=3 {
65 println!("User {}:", i);
66 println!(" Name: {}", name::name());
67 println!(" Email: {}", internet::email(None, None, None));
68 println!(" Username: {}", internet::username(None));
69 println!(" Address: {}", address::street_address());
70 println!(" Company: {}", company::name());
71 println!();
72 }
73}