1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
use crate::address; use crate::contact; use crate::image; use crate::job; use crate::misc; use crate::name; use crate::payment; use std::ops::Add; pub struct Info { first_name: String, last_name: String, gender: String, ssn: String, image: String, job: job::Info, address: address::Info, contact: contact::Info, credit_card: payment::CreditCard, } pub fn info() -> Info { Info { first_name: name::first(), last_name: name::last(), gender: gender(), ssn: ssn(), image: image::url(300, 300).add("/people"), job: job::info(), address: address::info(), contact: contact::info(), credit_card: payment::credit_card(), } } pub fn ssn() -> String { format!("{}", misc::random(100000000, 999999999)) } pub fn gender() -> String { match misc::random(1, 2) { 1 => "male".to_string(), _ => "female".to_string(), } } #[cfg(test)] mod tests { use crate::person; use crate::test_helper; #[test] fn ssn() { let data1 = person::ssn(); assert_ne!(data1, ""); if test_helper::print() { println!("{}", data1); } } #[test] fn gender() { let data1 = person::gender(); assert_ne!(data1, ""); if test_helper::print() { println!("{}", data1); } } }