From 968227e4e80544f78a5a220fff6c930f60581965 Mon Sep 17 00:00:00 2001 From: Filipe Tagliatti Date: Fri, 17 Nov 2023 15:11:06 -0300 Subject: [PATCH] Add support for pt_BR --- fake/src/locales/mod.rs | 9 +- fake/src/locales/pt_br.rs | 767 ++++++++++++++++++++++++++++++++++++++ fake/tests/determinism.rs | 163 ++++---- 3 files changed, 855 insertions(+), 84 deletions(-) create mode 100644 fake/src/locales/pt_br.rs diff --git a/fake/src/locales/mod.rs b/fake/src/locales/mod.rs index 37898ff..7f67efc 100644 --- a/fake/src/locales/mod.rs +++ b/fake/src/locales/mod.rs @@ -40,7 +40,7 @@ pub trait Data { const ADDRESS_ZIP_FORMATS: &'static [&'static str] = &["#####", "####", "###"]; const ADDRESS_POSTCODE_FORMATS: &'static [&'static str] = &["#####", "#####-####"]; const ADDRESS_GEOHASH_CHARS: &'static [&'static str] = &["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "b", "c", "d", "e", "f", "g", "h", "j", "k", "m", "n", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]; - + const COMPANY_SUFFIX: &'static [&'static str] = &["Inc", "and Sons", "LLC", "Group"]; const COMPANY_NAME_TPLS: &'static [&'static str] = &["{Name_1} {Suffix}", "{Name_1} and {Name_2} {Suffix}"]; const COMPANY_BUZZWORD_HEAD: &'static [&'static str] = &["Adaptive", "Advanced", "Ameliorated", "Assimilated", "Automated", "Balanced", "Business-focused", "Centralized", "Cloned", "Compatible", "Configurable", "Cross-group", "Cross-platform", "Customer-focused", "Customizable", "Decentralized", "De-engineered", "Devolved", "Digitized", "Distributed", "Diverse", "Down-sized", "Enhanced", "Enterprise-wide", "Ergonomic", "Exclusive", "Expanded", "Extended", "Face to face", "Focused", "Front-line", "Fully-configurable", "Function-based", "Fundamental", "Future-proofed", "Grass-roots", "Horizontal", "Implemented", "Innovative", "Integrated", "Intuitive", "Inverse", "Managed", "Mandatory", "Monitored", "Multi-channelled", "Multi-lateral", "Multi-layered", "Multi-tiered", "Networked", "Object-based", "Open-architected", "Open-source", "Operative", "Optimized", "Optional", "Organic", "Organized", "Persevering", "Persistent", "Phased", "Polarised", "Pre-emptive", "Proactive", "Profit-focused", "Profound", "Programmable", "Progressive", "Public-key", "Quality-focused", "Reactive", "Realigned", "Re-contextualized", "Re-engineered", "Reduced", "Reverse-engineered", "Right-sized", "Robust", "Seamless", "Secured", "Self-enabling", "Sharable", "Stand-alone", "Streamlined", "Switchable", "Synchronised", "Synergistic", "Synergized", "Team-oriented", "Total", "Triple-buffered", "Universal", "Up-sized", "Upgradable", "User-centric", "User-friendly", "Versatile", "Virtual", "Visionary", "Vision-oriented"]; @@ -84,7 +84,7 @@ pub trait Data { const CURRENCY_SYMBOL: &'static [&'static str] = &["HK$", "Ft", "₪", "¥", "$", "kr", "PhP", "zł", "CHF", "NT$", "฿", "£", "¢", "Rp", "ƒ", "€","रू"]; const ISBN_EAN: &'static str = "978"; - + fn isbn_rules() -> Box>> { let mut map = BTreeMap::new(); map.insert( @@ -175,7 +175,7 @@ pub trait Data { max: "8697999", registrant_len: 5 }, - + RegistrantRule { min: "8698000", max: "9729999", @@ -219,3 +219,6 @@ pub use self::ja_jp::JA_JP; mod ar_sa; pub use self::ar_sa::AR_SA; + +mod pt_br; +pub use self::pt_br::PT_BR; diff --git a/fake/src/locales/pt_br.rs b/fake/src/locales/pt_br.rs new file mode 100644 index 0000000..44b1fdd --- /dev/null +++ b/fake/src/locales/pt_br.rs @@ -0,0 +1,767 @@ +use crate::locales::Data; + +#[allow(non_camel_case_types)] +#[derive(Copy, Clone)] +pub struct PT_BR; + +impl Data for PT_BR { + const NAME_FIRST_NAME: &'static [&'static str] = &[ + "Aaron", + "Abgail", + "Adriana", + "Adriano", + "Adriel", + "Adriele", + "Afonso", + "Agatha", + "Agostinho", + "Agustina", + "Alan", + "Alana", + "Alessandra", + "Alessandro", + "Alexa", + "Alexandre", + "Alice", + "Aline", + "Allan", + "Allison", + "Alma", + "Alonso", + "Alícia", + "Amanda", + "Amélia", + "Ana", + "Analu", + "Anderson", + "Andres", + "Andressa", + "André", + "Andréa", + "Andréia", + "Angélica", + "Anita", + "Antonella", + "Antonieta", + "Antônio", + "Aparecida", + "Ariana", + "Ariane", + "Arthur", + "Artur", + "Augusto", + "Aurora", + "Ayla", + "Beatriz", + "Bella", + "Benedito", + "Benjamin", + "Benício", + "Bernardo", + "Betina", + "Bia", + "Bianca", + "Breno", + "Bruna", + "Bruno", + "Bárbara", + "Caio", + "Camila", + "Camilo", + "Carla", + "Carlos", + "Carol", + "Carolina", + "Caroline", + "Catarina", + "Cauan", + "Cecília", + "Cezar", + "Christian", + "Christopher", + "Clara", + "Clarice", + "Cláudia", + "Cláudio", + "Cléber", + "Constância", + "Cristian", + "Cristiana", + "Cristiano", + "Cristina", + "Cristóvão", + "Cynthia", + "César", + "Cíntia", + "Daiana", + "Daiane", + "Daniel", + "Daniela", + "Daniele", + "Daniella", + "Danielle", + "Danilo", + "Dante", + "Davi", + "David", + "Dayana", + "Dayane", + "Deivid", + "Demian", + "Dener", + "Denis", + "Denise", + "Diana", + "Diego", + "Diogo", + "Dirce", + "Débora", + "Edilson", + "Edson", + "Eduarda", + "Eduardo", + "Elaine", + "Eliane", + "Elias", + "Elis", + "Elisa", + "Elizabeth", + "Ellen", + "Eloah", + "Eloá", + "Emanuel", + "Emanuelly", + "Emerson", + "Emiliano", + "Emilly", + "Emily", + "Emília", + "Emílio", + "Enzo", + "Eric", + "Erik", + "Estela", + "Ester", + "Esther", + "Estêvão", + "Eunice", + "Eva", + "Evandro", + "Everton", + "Fabiana", + "Fabiano", + "Fabrício", + "Felipe", + "Fernanda", + "Fernando", + "Filipe", + "Flor", + "Flávia", + "Flávio", + "Franciele", + "Francisco", + "Franco", + "Fábio", + "Fátima", + "Gabi", + "Gabriel", + "Gabriela", + "Gabrielle", + "Gabrielly", + "Gael", + "Gean", + "George", + "Gian", + "Gilberto", + "Giovana", + "Giovane", + "Giovanna", + "Gisela", + "Gisele", + "Graziela", + "Guilherme", + "Gustavo", + "Heitor", + "Helena", + "Heloise", + "Heloísa", + "Henrique", + "Hernani", + "Hortência", + "Horácio", + "Hosana", + "Hugo", + "Ian", + "Iasmin", + "Ícaro", + "Igor", + "Ingrid", + "Inácio", + "Irene", + "Isaac", + "Isabel", + "Isabella", + "Isabelly", + "Isadora", + "Isis", + "Ivan", + "Ítalo", + "Ivana", + "James", + "Janaina", + "Jaqueline", + "Jasmin", + "Jean", + "Jefferson", + "Jennifer", + "Jerônimo", + "Joana", + "Joaquim", + "Joaquin", + "Jonas", + "Jorge", + "Josefina", + "Josué", + "José", + "Joyce", + "João", + "Juan", + "Juliana", + "Juliane", + "Juliano", + "Julieta", + "Jácomo", + "Jéssica", + "Júlia", + "Júlio", + "Kamila", + "Karen", + "Karina", + "Karine", + "Katherine", + "Kauan", + "Kelly", + "Ketlin", + "Kevin", + "Kléber", + "Késia", + "Laiane", + "Lara", + "Larissa", + "Laura", + "Lavínia", + "Laís", + "Leandro", + "Leo", + "Leonardo", + "Letícia", + "Lia", + "Lidiane", + "Lilian", + "Liz", + "Lorena", + "Lorenzo", + "Louise", + "Luan", + "Luana", + "Luara", + "Lucas", + "Luciana", + "Luciano", + "Lucio", + "Luis", + "Luiz", + "Luiza", + "Luna", + "Luzia", + "Luísa", + "Léia", + "Lívia", + "Lúcia", + "Madalena", + "Maiara", + "Maicon", + "Maitê", + "Malena", + "Malu", + "Manoela", + "Manuel", + "Manuela", + "Maraisa", + "Marcelo", + "Marco", + "Marcos", + "Mari", + "Maria", + "Mariah", + "Mariana", + "Marina", + "Marisa", + "Marta", + "Martinho", + "Mary", + "Marília", + "Mateus", + "Matheus", + "Matias", + "Mauro", + "Maurício", + "Maximiano", + "Maya", + "Mayara", + "Maísa", + "Mel", + "Melina", + "Melinda", + "Melissa", + "Mia", + "Micaela", + "Michael", + "Michele", + "Michelle", + "Miguel", + "Mila", + "Milena", + "Milene", + "Miranda", + "Mirela", + "Mirella", + "Miriam", + "Moisés", + "Murilo", + "Márcia", + "Márcio", + "Mário", + "Máximo", + "Mônica", + "Naiara", + "Naomi", + "Natal", + "Natan", + "Nathalia", + "Natália", + "Nayara", + "Nelson", + "Nero", + "Nicolas", + "Nicole", + "Noa", + "Noel", + "Noelí", + "Noemi", + "Norma", + "Nádia", + "Ohana", + "Olga", + "Olívia", + "Ornela", + "Otávio", + "Pablo", + "Paloma", + "Paola", + "Patrícia", + "Paula", + "Paulina", + "Paulo", + "Pedro", + "Pietra", + "Poliana", + "Priscila", + "Pâmela", + "Pérola", + "Rafael", + "Rafaela", + "Raissa", + "Raphael", + "Raquel", + "Rayane", + "Raysa", + "Rebeca", + "Regiane", + "Regina", + "Reinaldo", + "Renan", + "Renata", + "Renato", + "Ricardo", + "Richard", + "Roberta", + "Roberto", + "Robson", + "Rodolfo", + "Rodrigo", + "Rogério", + "Ronaldo", + "Rosana", + "Ruth", + "Sabrina", + "Samanta", + "Samara", + "Samuel", + "Sandra", + "Sandro", + "Santiago", + "Sara", + "Sarah", + "Saulo", + "Sebastião", + "Sergio", + "Sheila", + "Silvana", + "Simon", + "Simone", + "Simão", + "Sofia", + "Sophia", + "Sophie", + "Stefany", + "Stella", + "Stephanie", + "Stephany", + "Suelen", + "Sueli", + "Suellen", + "Suzana", + "Sérgio", + "Sônia", + "Tainara", + "Talita", + "Tatiana", + "Tatiane", + "Taís", + "Teobaldo", + "Tessália", + "Thales", + "Thalia", + "Thalissa", + "Thalita", + "Thaís", + "Thiago", + "Thomas", + "Théo", + "Tiago", + "Tomás", + "Tábata", + "Tâmara", + "Téo", + "Valentin", + "Valentina", + "Valéria", + "Vanessa", + "Verônica", + "Vicente", + "Victor", + "Vinícius", + "Violeta", + "Vitor", + "Vitória", + "Viviane", + "Wagner", + "Walter", + "Wellington", + "Wesley", + "William", + "Willian", + "Wilson", + "Yasmin", + "Yohanna", + "Yuri", + "Ziraldo", + ]; + const NAME_LAST_NAME: &'static [&'static str] = &[ + "Abreu", + "Aguiar", + "Alcantara", + "Alves", + "Amaral", + "Aragão", + "Aranda", + "Arruda", + "Ávila", + "Assunção", + "Azevedo", + "Balestero", + "Barreto", + "Barros", + "Batista", + "Beltrão", + "Benez", + "Benites", + "Bezerra", + "Bittencourt", + "Bonilha", + "Branco", + "Brito", + "Burgos", + "Caldeira", + "Camacho", + "Campos", + "Carmona", + "Carrara", + "Carvalho", + "Casanova", + "Cervantes", + "Chaves", + "Colaço", + "Cordeiro", + "Corona", + "Correia", + "Cortês", + "Cruz", + "D\"ávila", + "Delatorre", + "Delgado", + "Delvalle", + "Deverso", + "Dias", + "Dominato", + "Domingues", + "Duarte", + "Escobar", + "Espinoza", + "Esteves", + "Estrada", + "Faria", + "Faro", + "Feliciano", + "Ferminiano", + "Fernandes", + "Ferraz", + "Ferreira", + "Ferreira", + "Fidalgo", + "Flores", + "Fonseca", + "Fontes", + "Franco", + "Furtado", + "Galhardo", + "Galindo", + "Galvão", + "Garcia", + "Gil", + "Godói", + "Gomes", + "Gonçalves", + "Grego", + "Guerra", + "Gusmão", + "Jimenes", + "Leal", + "Leon", + "Lira", + "Lourenço", + "Lovato", + "Lozano", + "Lutero", + "Madeira", + "Maia", + "Maldonado", + "Marin", + "Marinho", + "Marques", + "Martines", + "Marés", + "Mascarenhas", + "Matias", + "Matos", + "Medina", + "Meireles", + "Mendes", + "Mendonça", + "Molina", + "Montenegro", + "Neves", + "Oliveira", + "Ortega", + "Ortiz", + "Pacheco", + "Padilha", + "Padrão", + "Paes", + "Paz", + "Pedrosa", + "Pena", + "Pereira", + "Perez", + "Pontes", + "Prado", + "Queirós", + "Queirós", + "Quintana", + "Quintana", + "Ramires", + "Ramos", + "Rangel", + "Reis", + "Rezende", + "Rico", + "Rios", + "Rivera", + "Rocha", + "Rodrigues", + "Romero", + "Roque", + "Rosa", + "Saito", + "Salas", + "Salazar", + "Sales", + "Salgado", + "Sanches", + "Sandoval", + "Santacruz", + "Santana", + "Santiago", + "Santos", + "Saraiva", + "Sepúlveda", + "Serna", + "Serra", + "Serrano", + "Soares", + "Solano", + "Soto", + "Souza", + "Tamoio", + "Teles", + "Toledo", + "Torres", + "Uchoa", + "Urias", + "Valdez", + "Vale", + "Valente", + "Valentin", + "Valência", + "Vasques", + "Vega", + "Velasques", + "Verdara", + "Verdugo", + "Vieira", + "Vila", + "Zamana", + "Zambrano", + "Zaragoça", + "da Cruz", + "da Rosa", + "da Silva", + "das Dores", + "das Neves", + "de Aguiar", + "de Arruda", + "de Freitas", + "de Oliveira", + "de Souza", + ]; + + const INTERNET_FREE_EMAIL_PROVIDER: &'static [&'static str] = &[ + "bol.com.br", + "gmail.com.br", + "hotmail.com.br", + "ig.com.br", + "outlook.com.br", + "terra.com.br", + "uol.com.br", + "yahoo.com.br", + ]; + + const PHONE_NUMBER_FORMATS: &'static [&'static str] = &[ + "(^#) 2###-####", + "(^#) 3###-####", + "(^#) 4###-####", + ]; + const PHONE_CELL_NUMBER_FORMATS: &'static [&'static str] = &[ + "(^#) 9####-####", + ]; + + const TIME_DEFAULT_DATE_FORMAT: &'static str = "[day]/[month]/[year]"; + const TIME_DEFAULT_DATETIME_FORMAT: &'static str = "[day]/[month]/[year]T[hour]:[minute]:[second][offset_hour sign:mandatory][offset_minute]"; + + const INTERNET_DOMAIN_SUFFIX: &'static [&'static str] = &[ + "app.br", + "art.br", + "com.br", + "dev.br", + "net.br", + "org.br", + ]; + + const ADDRESS_STATE: &'static [&'static str] = &[ + "Acre", + "Alagoas", + "Amapá", + "Amazonas", + "Bahia", + "Ceará", + "Distrito Federal", + "Espírito Santo", + "Goiás", + "Maranhão", + "Mato Grosso", + "Mato Grosso do Sul", + "Minas Gerais", + "Pará", + "Paraíba", + "Paraná", + "Pernambuco", + "Piauí", + "Rio de Janeiro", + "Rio Grande do Norte", + "Rio Grande do Sul", + "Rondônia", + "Roraima", + "Santa Catarina", + "São Paulo", + "Sergipe", + "Tocantins", + ]; + const ADDRESS_STATE_ABBR: &'static [&'static str] = &[ + "AC", + "AL", + "AP", + "AM", + "BA", + "CE", + "DF", + "ES", + "GO", + "MA", + "MT", + "MS", + "MG", + "PA", + "PB", + "PR", + "PE", + "PI", + "RJ", + "RN", + "RS", + "RO", + "RR", + "SC", + "SP", + "SE", + "TO", + ]; + + const ADDRESS_STREET_SUFFIX: &'static [&'static str] = &[ + "Av.", + "Avenida", + "R.", + "Rua", + "Travessa", + "Largo", + ]; + const ADDRESS_STREET_TPL: &'static str = "{StreetSuffix} {StreetName}"; + + const ADDRESS_POSTCODE_FORMATS: &'static [&'static str] = &["#####-###"]; + const COMPANY_SUFFIX: &'static [&'static str] = &[ + "e Filhos", + "e Associados", + "Ltda.", + "S.A.", + ]; +} diff --git a/fake/tests/determinism.rs b/fake/tests/determinism.rs index 2930a19..987332b 100644 --- a/fake/tests/determinism.rs +++ b/fake/tests/determinism.rs @@ -26,12 +26,13 @@ macro_rules! check_determinism { ($op:expr; $name:ident, $ty:ty) => { check_determinism!(one $name, $ty, $op); }; - (l10d $op:expr; $ty:ty, $name_en:ident, $name_fr:ident, $name_cn:ident, $name_tw:ident, $name_ja:ident $(, $attrs:expr)*) => { + (l10d $op:expr; $ty:ty, $name_en:ident, $name_fr:ident, $name_cn:ident, $name_tw:ident, $name_ja:ident, $name_br:ident $(, $attrs:expr)*) => { check_determinism!(one $name_en, $ty, $op(EN $(, $attrs)*)); check_determinism!(one $name_fr, $ty, $op(FR_FR $(, $attrs)*)); check_determinism!(one $name_cn, $ty, $op(ZH_CN $(, $attrs)*)); check_determinism!(one $name_tw, $ty, $op(ZH_TW $(, $attrs)*)); check_determinism!(one $name_ja, $ty, $op(JA_JP $(, $attrs)*)); + check_determinism!(one $name_br, $ty, $op(PT_BR $(, $attrs)*)); }; } @@ -46,24 +47,24 @@ check_determinism! { one fake_u64_range, u64, (1u64..54683546546434) } // Address use fake::faker::address::raw::*; -check_determinism! { l10d BuildingNumber; String, fake_buildingnumber_en, fake_buildingnumber_fr, fake_buildingnumber_cn, fake_buildingnumber_tw, fake_buildingnumber_jp } -check_determinism! { l10d CityName; String, fake_cityname_en, fake_cityname_fr, fake_cityname_cn, fake_cityname_tw, fake_cityname_jp } -check_determinism! { l10d CityPrefix; String, fake_cityprefix_en, fake_cityprefix_fr, fake_cityprefix_cn, fake_cityprefix_tw, fake_cityprefix_jp } -check_determinism! { l10d CitySuffix; String, fake_citysuffix_en, fake_citysuffix_fr, fake_citysuffix_cn, fake_citysuffix_tw, fake_citysuffix_jp } -check_determinism! { l10d CountryCode; String, fake_countrycode_en, fake_countrycode_fr, fake_countrycode_cn, fake_countrycode_tw, fake_countrycode_jp } -check_determinism! { l10d CountryName; String, fake_countryname_en, fake_countryname_fr, fake_countryname_cn, fake_countryname_tw, fake_countryname_jp } -check_determinism! { l10d Geohash; String, fake_geohash_en, fake_geohash_fr, fake_geohash_cn, fake_geohash_tw, fake_geohash_jp, 11 } -check_determinism! { l10d Latitude; String, fake_latitude_en, fake_latitude_fr, fake_latitude_cn, fake_latitude_tw, fake_latitude_jp } -check_determinism! { l10d Longitude; String, fake_longitude_en, fake_longitude_fr, fake_longitude_cn, fake_longitude_tw, fake_longitude_jp } -check_determinism! { l10d PostCode; String, fake_postcode_en, fake_postcode_fr, fake_postcode_cn, fake_postcode_tw, fake_postcode_jp } -check_determinism! { l10d SecondaryAddress; String, fake_secondary_address_en, fake_secondary_address_fr, fake_secondary_address_cn, fake_secondary_address_tw, fake_secondary_address_jp } -check_determinism! { l10d SecondaryAddressType; String, fake_secondary_address_type_en, fake_secondary_address_type_fr, fake_secondary_address_type_cn, fake_secondary_address_type_tw, fake_secondary_address_type_jp } -check_determinism! { l10d StateAbbr; String, fake_state_abbr_en, fake_state_abbr_fr, fake_state_abbr_cn, fake_state_abbr_tw, fake_state_abbr_jp } -check_determinism! { l10d StateName; String, fake_state_name_en, fake_state_name_fr, fake_state_name_cn, fake_state_name_tw, fake_state_name_jp } -check_determinism! { l10d StreetName; String, fake_street_name_en, fake_street_name_fr, fake_street_name_cn, fake_street_name_tw, fake_street_name_jp } -check_determinism! { l10d StreetSuffix; String, fake_street_suffix_en, fake_street_suffix_fr, fake_street_suffix_cn, fake_street_suffix_tw, fake_street_suffix_jp } -check_determinism! { l10d TimeZone; String, fake_time_zone_en, fake_time_zone_fr, fake_time_zone_cn, fake_time_zone_tw, fake_time_zone_jp } -check_determinism! { l10d ZipCode; String, fake_zip_code_en, fake_zip_code_fr, fake_zip_code_cn, fake_zip_code_tw, fake_zip_code_jp } +check_determinism! { l10d BuildingNumber; String, fake_buildingnumber_en, fake_buildingnumber_fr, fake_buildingnumber_cn, fake_buildingnumber_tw, fake_buildingnumber_jp, fake_buildingnumber_br } +check_determinism! { l10d CityName; String, fake_cityname_en, fake_cityname_fr, fake_cityname_cn, fake_cityname_tw, fake_cityname_jp, fake_cityname_br } +check_determinism! { l10d CityPrefix; String, fake_cityprefix_en, fake_cityprefix_fr, fake_cityprefix_cn, fake_cityprefix_tw, fake_cityprefix_jp, fake_cityprefix_br } +check_determinism! { l10d CitySuffix; String, fake_citysuffix_en, fake_citysuffix_fr, fake_citysuffix_cn, fake_citysuffix_tw, fake_citysuffix_jp, fake_citysuffix_br } +check_determinism! { l10d CountryCode; String, fake_countrycode_en, fake_countrycode_fr, fake_countrycode_cn, fake_countrycode_tw, fake_countrycode_jp, fake_countrycode_br } +check_determinism! { l10d CountryName; String, fake_countryname_en, fake_countryname_fr, fake_countryname_cn, fake_countryname_tw, fake_countryname_jp, fake_countryname_br } +check_determinism! { l10d Geohash; String, fake_geohash_en, fake_geohash_fr, fake_geohash_cn, fake_geohash_tw, fake_geohash_jp,fake_geohash_br, 11 } +check_determinism! { l10d Latitude; String, fake_latitude_en, fake_latitude_fr, fake_latitude_cn, fake_latitude_tw, fake_latitude_jp, fake_latitude_br } +check_determinism! { l10d Longitude; String, fake_longitude_en, fake_longitude_fr, fake_longitude_cn, fake_longitude_tw, fake_longitude_jp, fake_longitude_br } +check_determinism! { l10d PostCode; String, fake_postcode_en, fake_postcode_fr, fake_postcode_cn, fake_postcode_tw, fake_postcode_jp, fake_postcode_br } +check_determinism! { l10d SecondaryAddress; String, fake_secondary_address_en, fake_secondary_address_fr, fake_secondary_address_cn, fake_secondary_address_tw, fake_secondary_address_jp, fake_secondary_address_br } +check_determinism! { l10d SecondaryAddressType; String, fake_secondary_address_type_en, fake_secondary_address_type_fr, fake_secondary_address_type_cn, fake_secondary_address_type_tw, fake_secondary_address_type_jp, fake_secondary_address_type_br } +check_determinism! { l10d StateAbbr; String, fake_state_abbr_en, fake_state_abbr_fr, fake_state_abbr_cn, fake_state_abbr_tw, fake_state_abbr_jp, fake_state_abbr_br } +check_determinism! { l10d StateName; String, fake_state_name_en, fake_state_name_fr, fake_state_name_cn, fake_state_name_tw, fake_state_name_jp, fake_state_name_br } +check_determinism! { l10d StreetName; String, fake_street_name_en, fake_street_name_fr, fake_street_name_cn, fake_street_name_tw, fake_street_name_jp, fake_street_name_br } +check_determinism! { l10d StreetSuffix; String, fake_street_suffix_en, fake_street_suffix_fr, fake_street_suffix_cn, fake_street_suffix_tw, fake_street_suffix_jp, fake_street_suffix_br } +check_determinism! { l10d TimeZone; String, fake_time_zone_en, fake_time_zone_fr, fake_time_zone_cn, fake_time_zone_tw, fake_time_zone_jp, fake_time_zone_br } +check_determinism! { l10d ZipCode; String, fake_zip_code_en, fake_zip_code_fr, fake_zip_code_cn, fake_zip_code_tw, fake_zip_code_jp, fake_zip_code_br } // Administrative use fake::faker::administrative::raw::*; @@ -113,13 +114,13 @@ mod chrono { lo() + chrono::Duration::days(365) } - check_determinism! { l10d Date; String, fake_date_en, fake_date_fr, fake_date_cn, fake_date_tw, fake_date_jp } - check_determinism! { l10d DateTime; String, fake_date_time_en, fake_date_time_fr, fake_date_time_cn, fake_date_time_tw, fake_date_time_jp } - check_determinism! { l10d DateTimeAfter; String, fake_date_time_after_en, fake_date_time_after_fr, fake_date_time_after_cn, fake_date_time_after_tw, fake_date_time_after_jp, lo() } - check_determinism! { l10d DateTimeBefore; String, fake_date_time_before_en, fake_date_time_before_fr, fake_date_time_before_cn, fake_date_time_before_tw, fake_date_time_before_jp, hi() } - check_determinism! { l10d DateTimeBetween; String, fake_date_time_between_en, fake_date_time_between_fr, fake_date_time_between_cn, fake_date_time_between_tw, fake_date_time_between_jp, lo(), hi() } - check_determinism! { l10d Duration; ::chrono::Duration, fake_duration_en, fake_duration_fr, fake_duration_cn, fake_duration_tw, fake_duration_jp } - check_determinism! { l10d Time; String, fake_time_en, fake_time_fr, fake_time_cn, fake_time_tw, fake_time_jp } + check_determinism! { l10d Date; String, fake_date_en, fake_date_fr, fake_date_cn, fake_date_tw, fake_date_jp, fake_date_br } + check_determinism! { l10d DateTime; String, fake_date_time_en, fake_date_time_fr, fake_date_time_cn, fake_date_time_tw, fake_date_time_jp, fake_date_time_br } + check_determinism! { l10d DateTimeAfter; String, fake_date_time_after_en, fake_date_time_after_fr, fake_date_time_after_cn, fake_date_time_after_tw, fake_date_time_after_jp,, fake_date_time_after_br, lo() } + check_determinism! { l10d DateTimeBefore; String, fake_date_time_before_en, fake_date_time_before_fr, fake_date_time_before_cn, fake_date_time_before_tw, fake_date_time_before_jp, fake_date_time_before_br, hi() } + check_determinism! { l10d DateTimeBetween; String, fake_date_time_between_en, fake_date_time_between_fr, fake_date_time_between_cn, fake_date_time_between_tw, fake_date_time_between_jp, fake_date_time_between_br, lo(), hi() } + check_determinism! { l10d Duration; ::chrono::Duration, fake_duration_en, fake_duration_fr, fake_duration_cn, fake_duration_tw, fake_duration_jp, fake_duration_br } + check_determinism! { l10d Time; String, fake_time_en, fake_time_fr, fake_time_cn, fake_time_tw, fake_time_jp, fake_time_br } } // time @@ -136,30 +137,30 @@ mod time { lo() + time::Duration::days(365) } - check_determinism! { l10d Date; String, fake_date_en, fake_date_fr, fake_date_cn, fake_date_tw, fake_date_jp } - check_determinism! { l10d DateTime; String, fake_date_time_en, fake_date_time_fr, fake_date_time_cn, fake_date_time_tw, fake_date_time_jp } - check_determinism! { l10d DateTimeAfter; String, fake_date_time_after_en, fake_date_time_after_fr, fake_date_time_after_cn, fake_date_time_after_tw, fake_date_time_after_jp, lo() } - check_determinism! { l10d DateTimeBefore; String, fake_date_time_before_en, fake_date_time_before_fr, fake_date_time_before_cn, fake_date_time_before_tw, fake_date_time_before_jp, hi() } - check_determinism! { l10d DateTimeBetween; String, fake_date_time_between_en, fake_date_time_between_fr, fake_date_time_between_cn, fake_date_time_between_tw, fake_date_time_between_jp, lo(), hi() } - check_determinism! { l10d Duration; ::time::Duration, fake_duration_en, fake_duration_fr, fake_duration_cn, fake_duration_tw, fake_duration_jp } - check_determinism! { l10d Time; String, fake_time_en, fake_time_fr, fake_time_cn, fake_time_tw, fake_time_jp } + check_determinism! { l10d Date; String, fake_date_en, fake_date_fr, fake_date_cn, fake_date_tw, fake_date_jp, fake_date_br } + check_determinism! { l10d DateTime; String, fake_date_time_en, fake_date_time_fr, fake_date_time_cn, fake_date_time_tw, fake_date_time_jp, fake_date_time_br } + check_determinism! { l10d DateTimeAfter; String, fake_date_time_after_en, fake_date_time_after_fr, fake_date_time_after_cn, fake_date_time_after_tw, fake_date_time_after_jp, fake_date_time_after_br, lo() } + check_determinism! { l10d DateTimeBefore; String, fake_date_time_before_en, fake_date_time_before_fr, fake_date_time_before_cn, fake_date_time_before_tw, fake_date_time_before_jp, fake_date_time_before_br, hi() } + check_determinism! { l10d DateTimeBetween; String, fake_date_time_between_en, fake_date_time_between_fr, fake_date_time_between_cn, fake_date_time_between_tw, fake_date_time_between_jp, fake_date_time_between_br, lo(), hi() } + check_determinism! { l10d Duration; ::time::Duration, fake_duration_en, fake_duration_fr, fake_duration_cn, fake_duration_tw, fake_duration_jp, fake_duration_br } + check_determinism! { l10d Time; String, fake_time_en, fake_time_fr, fake_time_cn, fake_time_tw, fake_time_jp, fake_time_br } } // Company use fake::faker::company::raw::*; -check_determinism! { l10d Bs; String, fake_bs_en, fake_bs_fr, fake_bs_cn, fake_bs_tw, fake_bs_jp } -check_determinism! { l10d BsAdj; String, fake_bs_adj_en, fake_bs_adj_fr, fake_bs_adj_cn, fake_bs_adj_tw, fake_bs_adj_jp } -check_determinism! { l10d BsNoun; String, fake_bs_noun_en, fake_bs_noun_fr, fake_bs_noun_cn, fake_bs_noun_tw, fake_bs_noun_jp } -check_determinism! { l10d BsVerb; String, fake_bs_verb_en, fake_bs_verb_fr, fake_bs_verb_cn, fake_bs_verb_tw, fake_bs_verb_jp } -check_determinism! { l10d Buzzword; String, fake_buzzword_en, fake_buzzword_fr, fake_buzzword_cn, fake_buzzword_tw, fake_buzzword_jp } -check_determinism! { l10d BuzzwordMiddle; String, fake_buzzword_middle_en, fake_buzzword_middle_fr, fake_buzzword_middle_cn, fake_buzzword_middle_tw, fake_buzzword_middle_jp } -check_determinism! { l10d BuzzwordTail; String, fake_buzzword_tail_en, fake_buzzword_tail_fr, fake_buzzword_tail_cn, fake_buzzword_tail_tw, fake_buzzword_tail_jp } -check_determinism! { l10d CatchPhase; String, fake_catchphrase_en, fake_catchphrase_fr, fake_catchphrase_cn, fake_catchphrase_tw, fake_catchphrase_jp } -check_determinism! { l10d CompanyName; String, fake_company_name_en, fake_company_name_fr, fake_company_name_cn, fake_company_name_tw, fake_company_name_jp } -check_determinism! { l10d CompanySuffix; String, fake_company_suffix_en, fake_company_suffix_fr, fake_company_suffix_cn, fake_company_suffix_tw, fake_company_suffix_jp } -check_determinism! { l10d Industry; String, fake_industry_en, fake_industry_fr, fake_industry_cn, fake_industry_tw, fake_industry_jp } -check_determinism! { l10d Profession; String, fake_profession_en, fake_profession_fr, fake_profession_cn, fake_profession_tw, fake_profession_jp } +check_determinism! { l10d Bs; String, fake_bs_en, fake_bs_fr, fake_bs_cn, fake_bs_tw, fake_bs_jp, fake_bs_br } +check_determinism! { l10d BsAdj; String, fake_bs_adj_en, fake_bs_adj_fr, fake_bs_adj_cn, fake_bs_adj_tw, fake_bs_adj_jp, fake_bs_adj_br } +check_determinism! { l10d BsNoun; String, fake_bs_noun_en, fake_bs_noun_fr, fake_bs_noun_cn, fake_bs_noun_tw, fake_bs_noun_jp, fake_bs_noun_br } +check_determinism! { l10d BsVerb; String, fake_bs_verb_en, fake_bs_verb_fr, fake_bs_verb_cn, fake_bs_verb_tw, fake_bs_verb_jp, fake_bs_verb_br } +check_determinism! { l10d Buzzword; String, fake_buzzword_en, fake_buzzword_fr, fake_buzzword_cn, fake_buzzword_tw, fake_buzzword_jp, fake_buzzword_br } +check_determinism! { l10d BuzzwordMiddle; String, fake_buzzword_middle_en, fake_buzzword_middle_fr, fake_buzzword_middle_cn, fake_buzzword_middle_tw, fake_buzzword_middle_jp, fake_buzzword_middle_br } +check_determinism! { l10d BuzzwordTail; String, fake_buzzword_tail_en, fake_buzzword_tail_fr, fake_buzzword_tail_cn, fake_buzzword_tail_tw, fake_buzzword_tail_jp, fake_buzzword_tail_br } +check_determinism! { l10d CatchPhase; String, fake_catchphrase_en, fake_catchphrase_fr, fake_catchphrase_cn, fake_catchphrase_tw, fake_catchphrase_jp, fake_catchphrase_br } +check_determinism! { l10d CompanyName; String, fake_company_name_en, fake_company_name_fr, fake_company_name_cn, fake_company_name_tw, fake_company_name_jp, fake_company_name_br } +check_determinism! { l10d CompanySuffix; String, fake_company_suffix_en, fake_company_suffix_fr, fake_company_suffix_cn, fake_company_suffix_tw, fake_company_suffix_jp, fake_company_suffix_br } +check_determinism! { l10d Industry; String, fake_industry_en, fake_industry_fr, fake_industry_cn, fake_industry_tw, fake_industry_jp, fake_industry_br } +check_determinism! { l10d Profession; String, fake_profession_en, fake_profession_fr, fake_profession_cn, fake_profession_tw, fake_profession_jp, fake_profession_br } // Credit Card use fake::faker::creditcard::raw::*; @@ -170,9 +171,9 @@ check_determinism! { one fake_credit_card_number_en, String, CreditCardNumber(EN // Currency use fake::faker::currency::raw::*; -check_determinism! { l10d CurrencyCode; String, fake_currency_code_en, fake_currency_code_fr, fake_currency_code_cn, fake_currency_code_tw, fake_currency_code_jp } -check_determinism! { l10d CurrencyName; String, fake_currency_name_en, fake_currency_name_fr, fake_currency_name_cn, fake_currency_name_tw, fake_currency_name_jp } -check_determinism! { l10d CurrencySymbol; String, fake_currency_symbol_en, fake_currency_symbol_fr, fake_currency_symbol_cn, fake_currency_symbol_tw, fake_currency_symbol_jp } +check_determinism! { l10d CurrencyCode; String, fake_currency_code_en, fake_currency_code_fr, fake_currency_code_cn, fake_currency_code_tw, fake_currency_code_jp, fake_currency_code_br } +check_determinism! { l10d CurrencyName; String, fake_currency_name_en, fake_currency_name_fr, fake_currency_name_cn, fake_currency_name_tw, fake_currency_name_jp, fake_currency_name_br } +check_determinism! { l10d CurrencySymbol; String, fake_currency_symbol_en, fake_currency_symbol_fr, fake_currency_symbol_cn, fake_currency_symbol_tw, fake_currency_symbol_jp, fake_currency_symbol_br } // Filesystem use fake::faker::filesystem::raw::*; @@ -187,8 +188,8 @@ check_determinism! { one fake_semver_en, String, Semver(EN) } // Finance use fake::faker::finance::raw::*; -check_determinism! { l10d Bic; String, fake_bic_en, fake_bic_fr, fake_bic_cn, fake_bic_tw, fake_bic_jp } -check_determinism! { l10d Isin; String, fake_isin_en, fake_isin_fr, fake_isin_cn, fake_isin_tw, fake_isin_jp} +check_determinism! { l10d Bic; String, fake_bic_en, fake_bic_fr, fake_bic_cn, fake_bic_tw, fake_bic_jp, fake_bic_br } +check_determinism! { l10d Isin; String, fake_isin_en, fake_isin_fr, fake_isin_cn, fake_isin_tw, fake_isin_jp, fake_isin_br } // HTTP #[cfg(feature = "http")] @@ -203,17 +204,17 @@ mod http { // Internet use fake::faker::internet::raw::*; -check_determinism! { l10d DomainSuffix; String, fake_domainsuffix_en, fake_domainsuffix_fr, fake_domainsuffix_cn, fake_domainsuffix_tw, fake_domainsuffix_jp } -check_determinism! { l10d FreeEmailProvider; String, fake_freeemailprovider_en, fake_freeemailprovider_fr, fake_freeemailprovider_cn, fake_freeemailprovider_tw, fake_freeemailprovider_jp } -check_determinism! { l10d FreeEmail; String, fake_freeemail_en, fake_freeemail_fr, fake_freeemail_cn, fake_freeemail_tw, fake_freeemail_jp } -check_determinism! { l10d IP; std::net::IpAddr, fake_ip_en, fake_ip_fr, fake_ip_cn, fake_ip_tw, fake_ip_jp } -check_determinism! { l10d IPv4; String, fake_ipv4_en, fake_ipv4_fr, fake_ipv4_cn, fake_ipv4_tw, fake_ipv4_jp } -check_determinism! { l10d IPv6; String, fake_ipv6_en, fake_ipv6_fr, fake_ipv6_cn, fake_ipv6_tw, fake_ipv6_jp } -check_determinism! { l10d MACAddress; String, fake_macaddress_en, fake_macaddress_fr, fake_macaddress_cn, fake_macaddress_tw, fake_macaddress_jp } -check_determinism! { l10d Password; String, fake_password_en, fake_password_fr, fake_password_cn, fake_password_tw, fake_password_jp, 6..12 } -check_determinism! { l10d SafeEmail; String, fake_safeemail_en, fake_safeemail_fr, fake_safeemail_cn, fake_safeemail_tw, fake_safeemail_jp } -check_determinism! { l10d UserAgent; String, fake_useragent_en, fake_useragent_fr, fake_useragent_cn, fake_useragent_tw, fake_useragent_jp } -check_determinism! { l10d Username; String, fake_username_en, fake_username_fr, fake_username_cn, fake_username_tw, fake_username_jp } +check_determinism! { l10d DomainSuffix; String, fake_domainsuffix_en, fake_domainsuffix_fr, fake_domainsuffix_cn, fake_domainsuffix_tw, fake_domainsuffix_jp, fake_domainsuffix_br } +check_determinism! { l10d FreeEmailProvider; String, fake_freeemailprovider_en, fake_freeemailprovider_fr, fake_freeemailprovider_cn, fake_freeemailprovider_tw, fake_freeemailprovider_jp, fake_freeemailprovider_br } +check_determinism! { l10d FreeEmail; String, fake_freeemail_en, fake_freeemail_fr, fake_freeemail_cn, fake_freeemail_tw, fake_freeemail_jp, fake_freeemail_br } +check_determinism! { l10d IP; std::net::IpAddr, fake_ip_en, fake_ip_fr, fake_ip_cn, fake_ip_tw, fake_ip_jp, fake_ip_br } +check_determinism! { l10d IPv4; String, fake_ipv4_en, fake_ipv4_fr, fake_ipv4_cn, fake_ipv4_tw, fake_ipv4_jp, fake_ipv4_br } +check_determinism! { l10d IPv6; String, fake_ipv6_en, fake_ipv6_fr, fake_ipv6_cn, fake_ipv6_tw, fake_ipv6_jp, fake_ipv6_br } +check_determinism! { l10d MACAddress; String, fake_macaddress_en, fake_macaddress_fr, fake_macaddress_cn, fake_macaddress_tw, fake_macaddress_jp, fake_macaddress_br } +check_determinism! { l10d Password; String, fake_password_en, fake_password_fr, fake_password_cn, fake_password_tw, fake_password_jp, fake_password_br, 6..12 } +check_determinism! { l10d SafeEmail; String, fake_safeemail_en, fake_safeemail_fr, fake_safeemail_cn, fake_safeemail_tw, fake_safeemail_jp, fake_safeemail_br } +check_determinism! { l10d UserAgent; String, fake_useragent_en, fake_useragent_fr, fake_useragent_cn, fake_useragent_tw, fake_useragent_jp, fake_useragent_br } +check_determinism! { l10d Username; String, fake_username_en, fake_username_fr, fake_username_cn, fake_username_tw, fake_username_jp, fake_username_br } // it's sufficient to check one language, because it doesn't change anything #[cfg(feature = "uuid")] @@ -232,46 +233,46 @@ mod job { use fake::{faker::job::raw::*, locales::*, Fake}; use rand::SeedableRng as _; - check_determinism! { l10d Field; String, fake_field_en, fake_field_fr, fake_field_cn, fake_field_tw, fake_field_jp } - check_determinism! { l10d Position; String, fake_position_en, fake_position_fr, fake_position_cn, fake_position_tw, fake_position_jp } - check_determinism! { l10d Seniority; String, fake_seniority_en, fake_seniority_fr, fake_seniority_cn, fake_seniority_tw, fake_seniority_jp } - check_determinism! { l10d Title; String, fake_title_en, fake_title_fr, fake_title_cn, fake_title_tw, fake_title_jp } + check_determinism! { l10d Field; String, fake_field_en, fake_field_fr, fake_field_cn, fake_field_tw, fake_field_jp, fake_field_br } + check_determinism! { l10d Position; String, fake_position_en, fake_position_fr, fake_position_cn, fake_position_tw, fake_position_jp, fake_position_br } + check_determinism! { l10d Seniority; String, fake_seniority_en, fake_seniority_fr, fake_seniority_cn, fake_seniority_tw, fake_seniority_jp, fake_seniority_br } + check_determinism! { l10d Title; String, fake_title_en, fake_title_fr, fake_title_cn, fake_title_tw, fake_title_jp, fake_title_br } } // Lorem use fake::faker::lorem::raw::*; -check_determinism! { l10d Paragraph; String, fake_paragraph_en, fake_paragraph_fr, fake_paragraph_cn, fake_paragraph_tw, fake_paragraph_jp, 1..3 } -check_determinism! { l10d Paragraphs; Vec, fake_paragraphs_en, fake_paragraphs_fr, fake_paragraphs_cn, fake_paragraphs_tw, fake_paragraphs_jp, 1..3 } -check_determinism! { l10d Sentence; String, fake_sentence_en, fake_sentence_fr, fake_sentence_cn, fake_sentence_tw, fake_sentence_jp, (1..3) } -check_determinism! { l10d Sentences; Vec, fake_sentences_en, fake_sentences_fr, fake_sentences_cn, fake_sentences_tw, fake_sentences_jp, (1..3) } -check_determinism! { l10d Word; String, fake_word_en, fake_word_fr, fake_word_cn, fake_word_tw, fake_word_jp } -check_determinism! { l10d Words; Vec, fake_words_en, fake_words_fr, fake_words_cn, fake_words_tw, fake_words_jp, (1..3) } +check_determinism! { l10d Paragraph; String, fake_paragraph_en, fake_paragraph_fr, fake_paragraph_cn, fake_paragraph_tw, fake_paragraph_jp, fake_paragraph_br, 1..3 } +check_determinism! { l10d Paragraphs; Vec, fake_paragraphs_en, fake_paragraphs_fr, fake_paragraphs_cn, fake_paragraphs_tw, fake_paragraphs_jp, fake_paragraphs_br, 1..3 } +check_determinism! { l10d Sentence; String, fake_sentence_en, fake_sentence_fr, fake_sentence_cn, fake_sentence_tw, fake_sentence_jp, fake_sentence_br, (1..3) } +check_determinism! { l10d Sentences; Vec, fake_sentences_en, fake_sentences_fr, fake_sentences_cn, fake_sentences_tw, fake_sentences_jp, fake_sentences_br, (1..3) } +check_determinism! { l10d Word; String, fake_word_en, fake_word_fr, fake_word_cn, fake_word_tw, fake_word_jp, fake_word_br } +check_determinism! { l10d Words; Vec, fake_words_en, fake_words_fr, fake_words_cn, fake_words_tw, fake_words_jp, fake_words_br, (1..3) } // Names mod name { use fake::{faker::name::raw::*, locales::*, Fake}; use rand::SeedableRng as _; - check_determinism! { l10d Name; String, fake_name_en, fake_name_fr, fake_name_cn, fake_name_tw, fake_name_jp } - check_determinism! { l10d FirstName; String, fake_first_name_en, fake_first_name_fr, fake_first_name_cn, fake_first_name_tw, fake_first_name_jp } - check_determinism! { l10d LastName; String, fake_last_name_en, fake_last_name_fr, fake_last_name_cn, fake_last_name_tw, fake_last_name_jp } - check_determinism! { l10d NameWithTitle; String, fake_name_with_title_en, fake_name_with_title_fr, fake_name_with_title_cn, fake_name_with_title_tw, fake_name_with_title_jp } - check_determinism! { l10d Title; String, fake_title_en, fake_title_fr, fake_title_cn, fake_title_tw, fake_title_jp } - check_determinism! { l10d Suffix; String, fake_suffix_en, fake_suffix_fr, fake_suffix_cn, fake_suffix_tw, fake_suffix_jp } + check_determinism! { l10d Name; String, fake_name_en, fake_name_fr, fake_name_cn, fake_name_tw, fake_name_jp, fake_name_br } + check_determinism! { l10d FirstName; String, fake_first_name_en, fake_first_name_fr, fake_first_name_cn, fake_first_name_tw, fake_first_name_jp, fake_first_name_br } + check_determinism! { l10d LastName; String, fake_last_name_en, fake_last_name_fr, fake_last_name_cn, fake_last_name_tw, fake_last_name_jp, fake_last_name_br } + check_determinism! { l10d NameWithTitle; String, fake_name_with_title_en, fake_name_with_title_fr, fake_name_with_title_cn, fake_name_with_title_tw, fake_name_with_title_jp, fake_name_with_title_br } + check_determinism! { l10d Title; String, fake_title_en, fake_title_fr, fake_title_cn, fake_title_tw, fake_title_jp, fake_title_br } + check_determinism! { l10d Suffix; String, fake_suffix_en, fake_suffix_fr, fake_suffix_cn, fake_suffix_tw, fake_suffix_jp, fake_suffix_br } } // Numbers use fake::faker::number::raw::*; -check_determinism! { l10d Digit; String, fake_digit_en, fake_digit_fr, fake_digit_cn, fake_digit_tw, fake_digit_jp } -check_determinism! { l10d NumberWithFormat; String, fake_number_en, fake_number_fr, fake_number_cn, fake_number_tw, fake_number_jp, "{}" } +check_determinism! { l10d Digit; String, fake_digit_en, fake_digit_fr, fake_digit_cn, fake_digit_tw, fake_digit_jp, fake_digit_br } +check_determinism! { l10d NumberWithFormat; String, fake_number_en, fake_number_fr, fake_number_cn, fake_number_tw, fake_number_jp, fake_number_br, "{}" } // Phone Numbers use fake::faker::phone_number::raw::*; -check_determinism! { l10d CellNumber; String, fake_cell_number_en, fake_cell_number_fr, fake_cell_number_cn, fake_cell_number_tw, fake_cell_number_jp } -check_determinism! { l10d PhoneNumber; String, fake_phone_number_en, fake_phone_number_fr, fake_phone_number_cn, fake_phone_number_tw, fake_phone_number_jp } +check_determinism! { l10d CellNumber; String, fake_cell_number_en, fake_cell_number_fr, fake_cell_number_cn, fake_cell_number_tw, fake_cell_number_jp, fake_cell_number_br } +check_determinism! { l10d PhoneNumber; String, fake_phone_number_en, fake_phone_number_fr, fake_phone_number_cn, fake_phone_number_tw, fake_phone_number_jp, fake_phone_number_br } #[cfg(feature = "geo-types")] mod geo {