diff --git a/include/faker-cxx/types/Country.h b/include/faker-cxx/types/Country.h index bd7b6794..8d74e10f 100644 --- a/include/faker-cxx/types/Country.h +++ b/include/faker-cxx/types/Country.h @@ -42,6 +42,7 @@ enum class Country Korea, Canada, Mexico, + Argentina, }; const std::vector countries{ @@ -50,7 +51,7 @@ const std::vector countries{ Country::Turkey, Country::Czech, Country::Slovakia, Country::Ukraine, Country::Denmark, Country::Sweden, Country::Brazil, Country::Norway, Country::Japan, Country::Portugal, Country::Hungary, Country::Croatia, Country::Greece, Country::Slovenia, Country::Austria, Country::Switzerland, Country::Belgium, Country::Nederlands, - Country::China, Country::Korea, Country::Canada, Country::Mexico, + Country::China, Country::Korea, Country::Canada, Country::Mexico, Country::Argentina, }; inline std::string toString(Country country) @@ -73,6 +74,7 @@ inline std::string toString(Country country) {Country::Belgium, "Belgium"}, {Country::Nederlands, "Nederlands"}, {Country::China, "China"}, {Country::Korea, "Korea"}, {Country::Canada, "Canada"}, {Country::Mexico, "Mexico"}, + {Country::Argentina, "Argentina"}, }; return countryToStringMapping.at(country); diff --git a/src/modules/person/Person.cpp b/src/modules/person/Person.cpp index 549ba541..fbb24bef 100644 --- a/src/modules/person/Person.cpp +++ b/src/modules/person/Person.cpp @@ -5,6 +5,7 @@ #include #include "../../common/FormatHelper.h" +#include "data/argentina/ArgentinianPeopleNames.h" #include "data/austria/AustrianPeopleNames.h" #include "data/belgium/BelgianPeopleNames.h" #include "data/brazil/BrazilianPeopleNames.h" @@ -72,6 +73,7 @@ const std::map countryToPeopleNamesMapping{ {Country::Belgium, belgianPeopleNames}, {Country::Nederlands, dutchPeopleNames}, {Country::China, chinesePeopleNames}, {Country::Korea, koreanPeopleNames}, {Country::Canada, canadianPeopleNames}, {Country::Mexico, mexicanPeopleNames}, + {Country::Argentina, argentinianPeopleNames}, }; std::string middleNameForCountry(Country country, std::optional sex); diff --git a/src/modules/person/PersonTest.cpp b/src/modules/person/PersonTest.cpp index 32cc8375..0555053c 100644 --- a/src/modules/person/PersonTest.cpp +++ b/src/modules/person/PersonTest.cpp @@ -5,6 +5,7 @@ #include "gtest/gtest.h" #include "../../common/StringHelper.h" +#include "data/argentina/ArgentinianPeopleNames.h" #include "data/austria/AustrianPeopleNames.h" #include "data/belgium/BelgianPeopleNames.h" #include "data/canada/CanadianPeopleNames.h" @@ -72,6 +73,7 @@ const std::map countryToPeopleNamesMapping{ {Country::Belgium, belgianPeopleNames}, {Country::Nederlands, dutchPeopleNames}, {Country::China, chinesePeopleNames}, {Country::Korea, koreanPeopleNames}, {Country::Canada, canadianPeopleNames}, {Country::Mexico, mexicanPeopleNames}, + {Country::Argentina, argentinianPeopleNames}, }; const std::map generatedTestName{ @@ -92,6 +94,7 @@ const std::map generatedTestName{ {Country::Belgium, "shouldGenerateBelgianName"}, {Country::Nederlands, "shouldGenerateDutchName"}, {Country::China, "shouldGenerateChineseName"}, {Country::Korea, "shouldGenerateKoreanName"}, {Country::Canada, "shouldGenerateCanadianName"}, {Country::Mexico, "shouldGenerateMexicanName"}, + {Country::Argentina, "shouldGenerateArgentinianName"}, }; } diff --git a/src/modules/person/data/argentina/ArgentinianFirstNames.h b/src/modules/person/data/argentina/ArgentinianFirstNames.h new file mode 100644 index 00000000..65a19b72 --- /dev/null +++ b/src/modules/person/data/argentina/ArgentinianFirstNames.h @@ -0,0 +1,101 @@ +#pragma once + +#include +#include + +namespace faker +{ +const std::vector argentinianMalesFirstNames = { + "Jose", "Carlos", "Jorge", "Luis", "Miguel", "Hector", "Ramon", "Roberto", + "Oscar", "Daniel", "Mario", "Pedro", "Ricardo", "Raul", "Pablo", "Eduardo", + "Sergio", "Marcelo", "Julio", "Hugo", "Alberto", "Ruben", "Gustavo", "Antonio", + "Victor", "Francisco", "Diego", "Angel", "Alejandro", "Claudio", "Walter", "Fernando", + "Nestor", "Guillermo", "Manuel", "Cristian", "Martin", "Alfredo", "Enrique", "Osvaldo", + "Javier", "Gabriel", "Horacio", "Cesar", "Rodolfo", "Omar", "Andres", "Ernesto", + "Leonardo", "Domingo", "Marcos", "Nicolas", "Sebastian", "Adrian", "Norberto", "Mariano", + "Esteban", "Dario", "Fabian", "Edgardo", "Rafael", "Vicente", "Orlando", "Gerardo", + "Hernan", "Federico", "Felix", "Aldo", "Armando", "Adolfo", "David", "Emilio", + "German", "Anibal", "Lucas", "Mauricio", "Humberto", "Ignacio", "Agustin", "Felipe", + "Leandro", "Tomas", "Abel", "Gregorio", "Luciano", "Segundo", "Rolando", "Gaston", + "Nelson", "Maximiliano", "Salvador", "Lorenzo", "Christian", "Silvio", "Arturo", "Rodrigo", + "Mauro", "Dante", "Bernardo", "Gonzalo", "Rogelio", "Julian", "Eugenio", "Ismael", + "Marcelino", "Santiago", "Ezequiel", "Justo", "Benito", "Maximo", "Fabio", "Atilio", + "Patricio", "Americo", "Arnaldo", "Lucio", "Florencio", "Facundo", "Emiliano", "Ceferino", + "Joaquin", "Jacinto", "Hipolito", "Elias", "Reinaldo", "Geronimo", "Eusebio", "Elvio", + "Ivan", "Sixto", "Valentin", "Benjamin", "Alfonso", "Dardo", "Fermin", "Bruno", + "Augusto", "Matias", "Isidro", "Leopoldo", "Elio", "Teodoro", "Simon", "Edgar", + "Faustino", "Aurelio", "Jaime", "Carmelo", "Edmundo", "Ramiro", "Samuel", "Paulo", + "Dionisio", "Hilario", "Sandro", "Enzo", "Cirilo", "Marco", "Demetrio", "Guido", + "Osmar", "Fidel", "Florentino", "Bernardino", "Evaristo", "Roque", "Flavio", "Anselmo", + "Victorio", "Isidoro", "Argentino", "Damian", "Rufino", "Paulino", "Genaro", "Celestino", + "Saul", "Victoriano", "Amado", "Celso", "Teofilo", "Eliseo", "Eleuterio", "Eulogio", + "Ubaldo", "Adalberto", "Lisandro", "Saturnino", "Cristobal", "Isaac", "Feliciano", "Pascual", + "Gilberto", "Emanuel", "Adan", "Reynaldo", "Modesto", "Inocencio", "Cecilio", "Raimundo", + "Fortunato", "Catalino", "Albino", "Moises", "Camilo", "Dionicio", "Marcial", "Fabricio", + "Virgilio", "Lino", "Candido", "Avelino", "Romulo", "Amadeo", "Rosendo", "Rito", + "Benigno", "Elbio", "Tito", "Abelardo", "Silverio", "Remigio", "Octavio", "Estanislao", + "Heriberto", "Abraham", "Arnoldo", "Bonifacio", "Eladio", "Silvano", "Cipriano", "Donato", + "Leonel", "Gabino", "Clemente", "Ireneo", "Natalio", "Marciano", "Nicasio", "Ovidio", + "Alvaro", "Epifanio", "Anastacio", "Fausto", "Nicanor", "Italo", "Silvestre", "Delfin", + "Cornelio", "Timoteo", "Eustaquio", "Desiderio", "Zenon", "Leoncio", "Amilcar", "Eloy", + "Ulises", "Ciriaco", "Isabelino", "Favio", "Wenceslao", "Cosme", "Basilio", "Justino", + "Conrado", "Romualdo", "Nolberto", "Placido", "Exequiel", "Serafin", "Victorino", "Higinio", + "Severo", "Mateo", "Calixto", "Herminio", "Ruperto", "Salomon", "Honorio", "Arsenio", + "Milton", "Roman", "Danilo", "Cayetano", "Franco", "Venancio", "Froilan", "Aniceto", + "Heraldo", "Oreste", "Sabino", "Alejo", "Bernabe", "Edelmiro", "Braulio", "Martiniano", + "Olegario", "Secundino", "Jonatan", "Nemesio", "Jeronimo", "Leon", "Anacleto", "Simeon", + "Elpidio", "Narciso", "Waldo", "Hermenegildo", "Marino", "Bartolome", "Wilfredo", "Adriano", + "Obdulio", "Nelso", "Efrain", "Nahuel", "Benedicto", "Lionel", "Eleodoro", "Laureano", + "Renato", "Abdon", "Gumercindo", "Emmanuel", "Casimiro", "Jacobo", "Israel", "Roger", + "Toribio", "Telmo", "Lazaro", "Joel", "Ambrosio", "Regino", "Waldemar", "Ciro", + "Hernando", "Pio", "Zoilo", "Isaias", "Eulalio", "Brigido", "Clementino", "Erasmo", + "Nazario", "Primo", "Eric", "Salustiano", "Tiburcio", "Ladislao", +}; + +const std::vector argentinianFemalesFirstNames = { + "Maria", "Juan", "Ana", "Silvia", "Rosa", "Norma", "Marta", "Claudia", + "Graciela", "Monica", "Susana", "Mirta", "Alicia", "Patricia", "Nelida", "Juana", + "Liliana", "Sandra", "Laura", "Olga", "Andrea", "Elsa", "Ramona", "Adriana", + "Marcela", "Carmen", "Lidia", "Teresa", "Gabriela", "Gladys", "Veronica", "Blanca", + "Natalia", "Margarita", "Irma", "Beatriz", "Mercedes", "Alejandra", "Dora", "Elena", + "Angela", "Cristina", "Lorena", "Delia", "Isabel", "Stella", "Ariel", "Mariana", + "Mariela", "Nilda", "Estela", "Nancy", "Sara", "Nora", "Viviana", "Lucia", + "Analia", "Julia", "Luisa", "Miriam", "Karina", "Antonia", "Paola", "Carolina", + "Cecilia", "Sonia", "Hilda", "Mabel", "Elba", "Valeria", "Rosana", "Silvana", + "Silvina", "Paula", "Carina", "Yolanda", "Francisca", "Noemi", "Elvira", "Romina", + "Celia", "Jesus", "Marisa", "Gloria", "Clara", "Angelica", "Ines", "Daniela", + "Josefa", "Catalina", "Eva", "Raquel", "Martha", "Marina", "Elida", "Rita", + "Roxana", "Griselda", "Haydee", "Vanesa", "Esther", "Amalia", "Elisa", "Amelia", + "Victoria", "Zulema", "Nelly", "Ester", "Dominga", "Zulma", "Virginia", "Fabiana", + "Gladis", "Aida", "Irene", "Adela", "Elizabeth", "Rene", "Emilia", "Rosario", + "Josefina", "Edith", "Matilde", "Noelia", "Petrona", "Mirtha", "Elva", "Aurora", + "Vilma", "Leonor", "Luciana", "Dolores", "Gisela", "Emma", "Magdalena", "Cintia", + "Carla", "Flavia", "Ivana", "Felisa", "Sofia", "Mirian", "Erica", "Florencia", + "Yanina", "Berta", "Elda", "Ilda", "Diana", "Jorgelina", "Myriam", "Amanda", + "Ofelia", "Manuela", "Rosalia", "Lilia", "Leticia", "Alcira", "Teresita", "Nidia", + "Iris", "Vanina", "Paulina", "Soledad", "Azucena", "Adelina", "Eugenia", "Sabrina", + "Agustina", "Julieta", "Eliana", "Fernanda", "Vicenta", "Martina", "Celina", "Alcides", + "Evangelina", "Debora", "Gregoria", "Marcelina", "Selva", "Lilian", "Natividad", "Concepcion", + "Ada", "Herminia", "Argentina", "Aurelia", "Tomasa", "Nadia", "Lucrecia", "Ema", + "Guillermina", "Jesica", "Nicolasa", "Zunilda", "Felipa", "Fanny", "Reina", "Ruth", + "Barbara", "Filomena", "Clelia", "Ida", "Anita", "Lorenza", "Delfina", "Mariel", + "Emilce", "Enriqueta", "Pamela", "Clementina", "Pilar", "Fatima", "Juliana", "Florinda", + "Cynthia", "Myrian", "Ernestina", "Ermelinda", "Nanci", "Dina", "Regina", "Etelvina", + "Adelaida", "Melina", "Corina", "Jacinta", "Delicia", "Mirna", "Valentina", "Lydia", + "Bibiana", "Asuncion", "America", "Micaela", "Isolina", "Elisabet", "Elina", "Deolinda", + "Lia", "Perla", "Marisol", "Ignacia", "Pabla", "Benita", "Florentina", "Santos", + "Clotilde", "Sabina", "Celestina", "Justina", "Lucila", "Maxima", "Yesica", "Georgina", + "Teodora", "Guadalupe", "Flora", "Maricel", "Genoveva", "Arminda", "Violeta", "Rafaela", + "Lina", "Mara", "Luz", "Gilda", "Erika", "Segunda", "Rocio", "Jimena", + "Albina", "Transito", "Hortencia", "Yamila", "Trinidad", "Angelina", "Otilia", "Justa", + "Eusebia", "Malvina", "Marianela", "Mary", "Araceli", "Melisa", "Hebe", "Brigida", + "Faustina", "Eulalia", "Hortensia", "Judith", "Telma", "Ceferina", "Candida", "Ercilia", + "Isidora", "Clarisa", "Erminda", "Eloisa", "Fermina", "Rufina", "Modesta", "Edit", + "Geronima", "Carola", "Anabella", "Encarnacion", "Bernardina", "Edelmira", "Alejandrina", "Hermelinda", + "Dionisia", "Olinda", "Palmira", "Esperanza", "Pascuala", "Rebeca", "Alexis", "Marcia", + "Victorina", "Agueda", "Jessica", "Anahi", "Elisabeth", "Lelia", "Estefania", "Sixta", + "Inocencia", "Damiana", "Ethel", "Eulogia", "Simona", "Renee", "Carlota", "Eleonora", + "Elma", "Bernarda", "Lourdes", "Jaquelina", "Mafalda", "Anabel", "Cirila", "Emilse", + "Miryam", "Betina", "Herminda", "Elia", "Tamara", "Feliciana", +}; +} diff --git a/src/modules/person/data/argentina/ArgentinianLastNames.h b/src/modules/person/data/argentina/ArgentinianLastNames.h new file mode 100644 index 00000000..82ed3b54 --- /dev/null +++ b/src/modules/person/data/argentina/ArgentinianLastNames.h @@ -0,0 +1,54 @@ +#pragma once + +#include +#include + +namespace faker +{ +const std::vector argentinianLastNames = { + "Gonzalez", "Rodriguez", "Gomez", "Fernandez", "Lopez", "Diaz", "Martinez", "Perez", + "Garcia", "Sanchez", "Romero", "Sosa", "Torres", "Alvarez", "Ruiz", "Ramirez", + "Flores", "Benitez", "Acosta", "Medina", "Herrera", "Suarez", "Aguirre", "Gimenez", + "Gutierrez", "Pereyra", "Rojas", "Molina", "Castro", "Ortiz", "Silva", "Nuñez", + "Luna", "Juarez", "Cabrera", "Rios", "Morales", "Godoy", "Moreno", "Ferreyra", + "Dominguez", "Carrizo", "Peralta", "Castillo", "Ledesma", "Quiroga", "Vega", "Vera", + "Muñoz", "Ojeda", "Ponce", "Villalba", "Cardozo", "Navarro", "Coronel", "Vazquez", + "Ramos", "Vargas", "Caceres", "Arias", "Figueroa", "Cordoba", "Correa", "Maldonado", + "Paz", "Rivero", "Miranda", "Mansilla", "Farias", "Roldan", "Mendez", "Guzman", + "Aguero", "Hernandez", "Lucero", "Cruz", "Paez", "Escobar", "Mendoza", "Barrios", + "Bustos", "Avila", "Ayala", "Blanco", "Soria", "Maidana", "Acuña", "Leiva", + "Duarte", "Moyano", "Campos", "Soto", "Martin", "Valdez", "Bravo", "Chavez", + "Velazquez", "Olivera", "Toledo", "Franco", "Ibañez", "Leguizamon", "Montenegro", "Delgado", + "Arce", "Ibarra", "Gallardo", "Santillan", "Acevedo", "Aguilar", "Vallejos", "Contreras", + "Alegre", "Galvan", "Oviedo", "Aranda", "Albornoz", "Baez", "Sandoval", "Barrionuevo", + "Veron", "Gauna", "Zarate", "Heredia", "Mercado", "Monzon", "Marquez", "Zalazar", + "Mamani", "Coria", "Segovia", "Romano", "Jimenez", "Salinas", "Quinteros", "Barrera", + "Ortega", "Cabral", "Palacios", "Cejas", "Quintana", "Zapata", "Rosales", "Altamirano", + "Nieva", "Bazan", "Alonso", "Burgos", "Bustamante", "Varela", "Lescano", "Aguilera", + "Paredes", "Avalos", "Cuello", "Aquino", "Orellana", "Caballero", "Reynoso", "Reyes", + "Villarreal", "Alarcon", "Pacheco", "Tapia", "Galarza", "Ocampo", "Meza", "Guerrero", + "Salas", "Frias", "Videla", "Miño", "Jara", "Garay", "Rossi", "Lezcano", + "Valenzuela", "Oliva", "Fuentes", "Robledo", "Espindola", "Nieto", "Pereira", "Brizuela", + "Andrada", "Maciel", "Funes", "Robles", "Sotelo", "Cortez", "Almiron", "Rivas", + "Gil", "Villegas", "Calderon", "Vergara", "Carabajal", "Ceballos", "Gallo", "Palavecino", + "Barreto", "Alderete", "Escudero", "Saavedra", "Serrano", "Almada", "Galeano", "Espinosa", + "Villagra", "Gerez", "Solis", "Ochoa", "Escalante", "Luque", "Amaya", "Arguello", + "Salazar", "Lazarte", "Barrientos", "Vidal", "Machado", "Ferreira", "Argañaraz", "Iglesias", + "Guevara", "Centurion", "Esquivel", "Lencina", "Jaime", "Cano", "Lujan", "Espinoza", + "Palacio", "Villanueva", "Salvatierra", "Guerra", "Barraza", "Bordon", "Saucedo", "Ferrari", + "Costa", "Rolon", "Zabala", "Albarracin", "Duran", "Peña", "Tello", "Quiroz", + "Montes", "Alfonso", "Brito", "Marin", "Moreira", "Olmos", "Montiel", "Pintos", + "Olmedo", "Bruno", "Villafañe", "Arroyo", "Reinoso", "Araujo", "Gorosito", "Cisneros", + "Quevedo", "Montero", "Barros", "Moya", "Basualdo", "Carballo", "Insaurralde", "Prieto", + "Alcaraz", "Santos", "Corvalan", "Chamorro", "Casas", "Carranza", "Moreyra", "Chaves", + "Riquelme", "Arevalo", "Bogado", "Sequeira", "Amarilla", "Parra", "Corbalan", "Veliz", + "Falcon", "Moran", "Cantero", "Otero", "Rocha", "Lobo", "Cuevas", "Roman", + "Caro", "Jofre", "Nievas", "Pinto", "Arrieta", "Portillo", "Rivera", "Gramajo", + "Quintero", "Russo", "Carrasco", "Castaño", "Vivas", "Gamarra", "Ludueña", "Britez", + "Britos", "Cortes", "Becerra", "Prado", "Merlo", "Barboza", "Hidalgo", "Olguin", + "Taborda", "Tolaba", "Villa", "Leon", "Sarmiento", "Cañete", "Gaitan", "Sanabria", + "Ovejero", "Da'Pavon", "Rey", "Mora", "Vasquez", "Cardenas", "Cornejo", "Orellano", + "Dos'Alaniz", "Araya", "Vallejo", "Enriquez", "Bianchi", "Barroso", "Calvo", "Lemos", + "Casco", "Trejo", "Andrade", "Balmaceda", +}; +} diff --git a/src/modules/person/data/argentina/ArgentinianPeopleNames.h b/src/modules/person/data/argentina/ArgentinianPeopleNames.h new file mode 100644 index 00000000..0900b780 --- /dev/null +++ b/src/modules/person/data/argentina/ArgentinianPeopleNames.h @@ -0,0 +1,16 @@ +#pragma once + +#include "../NameFormats.h" +#include "../PeopleNames.h" +#include "ArgentinianFirstNames.h" +#include "ArgentinianLastNames.h" + +namespace faker +{ +const NameFormats argentinianPersonNameFormats{{"{firstName} {lastName}", 1}}; + +const PeopleNames argentinianPeopleNames{{argentinianMalesFirstNames, {}, argentinianLastNames, {}, {}}, + {argentinianFemalesFirstNames, {}, argentinianLastNames, {}, {}}, + argentinianPersonNameFormats}; + +}