diff --git a/include/faker-cxx/types/Country.h b/include/faker-cxx/types/Country.h index 09ede4f83..71d0d325d 100644 --- a/include/faker-cxx/types/Country.h +++ b/include/faker-cxx/types/Country.h @@ -58,6 +58,7 @@ enum class Country Iceland, Palestine, Israel, + Monaco }; const std::vector countries{ @@ -70,7 +71,8 @@ const std::vector countries{ Country::China, Country::Korea, Country::Canada, Country::Mexico, Country::Argentina, Country::Australia, Country::Serbia, Country::Macedonia, Country::Albania, Country::Latvia, Country::Ireland, Country::Belarus, Country::Estonia, Country::Iran, Country::Bulgaria, - Country::Moldova, Country::Lithuania, Country::Iceland, Country::Palestine, Country::Israel + Country::Moldova, Country::Lithuania, Country::Iceland, Country::Palestine, Country::Israel, + Country::Monaco, }; inline std::string toString(Country country) @@ -126,6 +128,7 @@ inline std::string toString(Country country) {Country::Iceland, "Iceland"}, {Country::Palestine, "Palestine"}, {Country::Israel, "Israel"}, + {Country::Monaco, "Monaco"}, }; return countryToStringMapping.at(country); diff --git a/src/modules/person/Person.cpp b/src/modules/person/Person.cpp index 14586ef19..9c7be3f23 100644 --- a/src/modules/person/Person.cpp +++ b/src/modules/person/Person.cpp @@ -43,12 +43,13 @@ #include "data/macedonia/MacedonianPeopleNames.h" #include "data/mexico/MexicanPeopleNames.h" #include "data/moldova/MoldovanPeopleNames.h" +#include "data/monaco/MonacanPeopleNames.h" #include "data/Nationalities.h" #include "data/nepal/NepalesePeopleNames.h" #include "data/netherlands/DutchPeopleNames.h" #include "data/norway/NorwegianPeopleNames.h" -#include "data/poland/PolishPeopleNames.h" #include "data/palestine/PalestinianPeopleNames.h" +#include "data/poland/PolishPeopleNames.h" #include "data/portugal/PortuguesePeopleNames.h" #include "data/romania/RomanianPeopleNames.h" #include "data/russia/RussianPeopleNames.h" @@ -98,6 +99,7 @@ const std::map countryToPeopleNamesMapping{ {Country::Bulgaria, bulgarianPeopleNames}, {Country::Moldova, moldovanPeopleNames}, {Country::Lithuania, lithuanianPeopleNames}, {Country::Iceland, icelandicPeopleNames}, {Country::Palestine, palestinianPeopleNames}, {Country::Israel, israeliPeopleNames}, + {Country::Monaco, monacanPeopleNames}, }; std::string middleNameForCountry(Country country, std::optional sex); diff --git a/src/modules/person/PersonTest.cpp b/src/modules/person/PersonTest.cpp index ea1725841..906d3e88c 100644 --- a/src/modules/person/PersonTest.cpp +++ b/src/modules/person/PersonTest.cpp @@ -11,6 +11,7 @@ #include "data/austria/AustrianPeopleNames.h" #include "data/belarus/BelarusianPeopleNames.h" #include "data/belgium/BelgianPeopleNames.h" +#include "data/brazil/BrazilianPeopleNames.h" #include "data/bulgaria/BulgarianPeopleNames.h" #include "data/canada/CanadianPeopleNames.h" #include "data/china/ChinesePeopleNames.h" @@ -20,7 +21,6 @@ #include "data/england/EnglishPeopleNames.h" #include "data/estonia/EstonianPeopleNames.h" #include "data/finland/FinnishPeopleNames.h" -#include "data/palestine/PalestinianPeopleNames.h" #include "data/france/FrenchPeopleNames.h" #include "data/Gender.h" #include "data/germany/GermanPeopleNames.h" @@ -42,10 +42,13 @@ #include "data/macedonia/MacedonianPeopleNames.h" #include "data/mexico/MexicanPeopleNames.h" #include "data/moldova/MoldovanPeopleNames.h" +#include "data/monaco/MonacanPeopleNames.h" #include "data/Nationalities.h" #include "data/nepal/NepalesePeopleNames.h" #include "data/netherlands/DutchPeopleNames.h" #include "data/norway/NorwegianPeopleNames.h" +#include "data/palestine/PalestinianPeopleNames.h" +#include "data/PeopleNames.h" #include "data/poland/PolishPeopleNames.h" #include "data/portugal/PortuguesePeopleNames.h" #include "data/romania/RomanianPeopleNames.h" @@ -58,10 +61,8 @@ #include "data/switzerland/SwissPeopleNames.h" #include "data/turkey/TurkishPeopleNames.h" #include "data/ukraine/UkrainianPeopleNames.h" +#include "data/usa/UsaPeopleNames.h" #include "data/ZodiacSigns.h" -#include "src/modules/person/data/brazil/BrazilianPeopleNames.h" -#include "src/modules/person/data/PeopleNames.h" -#include "src/modules/person/data/usa/UsaPeopleNames.h" using namespace ::testing; using namespace faker; @@ -96,6 +97,7 @@ const std::map countryToPeopleNamesMapping{ {Country::Bulgaria, bulgarianPeopleNames}, {Country::Moldova, moldovanPeopleNames}, {Country::Lithuania, lithuanianPeopleNames}, {Country::Iceland, icelandicPeopleNames}, {Country::Palestine, palestinianPeopleNames}, {Country::Israel, israeliPeopleNames}, + {Country::Monaco, monacanPeopleNames}, }; const std::map generatedTestName{ @@ -124,6 +126,7 @@ const std::map generatedTestName{ {Country::Bulgaria, "shouldGenerateBulgarianName"}, {Country::Moldova, "shouldGenerateMoldovanName"}, {Country::Lithuania, "shouldGenerateLithuanianName"}, {Country::Iceland, "shouldGenerateIcelandicName"}, {Country::Palestine, "shouldGeneratePalestinianName"}, {Country::Israel, "shouldGenerateIsraeliName"}, + {Country::Monaco, "shouldGenerateMonacanName"}, }; } diff --git a/src/modules/person/data/monaco/MonacanFirstNames.h b/src/modules/person/data/monaco/MonacanFirstNames.h new file mode 100644 index 000000000..6307592c0 --- /dev/null +++ b/src/modules/person/data/monaco/MonacanFirstNames.h @@ -0,0 +1,80 @@ +#pragma once + +#include +#include + +namespace faker +{ +const std::vector monacanMalesFirstNames = { + "Philippe", "David", "Robert", "Eric", "Patrick", "Christian", "Michel", "Pierre", "Marc", + "Olivier", "Nicolas", "Alain", "Michael", "John", "Christophe", "Daniel", "Paul", "Laurent", + "Thierry", "Marco", "Thomas", "Peter", "Alexandre", "Jacques", "Georges", "Paolo", "Richard", + "Julien", "Franck", "Joseph", "Francesco", "Mario", "Bernard", "Roberto", "Pascal", "Gilles", + "Bruno", "Stefano", "Anthony", "Massimo", "Luca", "Giovanni", "Fabrice", "James", "Charles", + "Vincent", "William", "Giuseppe", "Alessandro", "Carlo", "Guillaume", "Roger", "Giorgio", "Alex", + "Frederic", "Alberto", "Fabio", "Emmanuel", "Alexander", "Jan", "Enrico", "Antonio", "Antoine", + "Simon", "Didier", "Roland", "Martin", "Benjamin", "Louis", "Serge", "Raymond", "Mohamed", + "Mark", "Lionel", "Guy", "Patrice", "Gregory", "Maurice", "Arnaud", "Stephen", "Henri", + "Federico", "Maurizio", "Xavier", "Andrew", "Gilbert", "Luigi", "Jonathan", "Yves", "Fabien", + "Christopher", "Marcel", "Igor", "Albert", "Franco", "Sebastien", "Riccardo", "George", "Sylvain", + "Kevin", "Manuel", "Chris", "Pietro", "Romain", "Frank", "Max", "Mathieu", "Ian", + "Cyril", "Matteo", "Lorenzo", "Giancarlo", "Tony", "Vladimir", "Jeremy", "Yann", "Filippo", + "Colin", "Nicholas", "Jerome", "Davide", "Steven", "Damien", "Dario", "Gabriel", "Ali", + "Gianluca", "Philip", "Gerard", "Sergey", "Arthur", "Maxime", "Ivan", "Karl", "Edouard", + "Alan", "Luc", "Hans", "Fred", "Mauro", "Angelo", "Karim", "Carlos", "Matthieu", + "Benoit", "Hugo", "Fabrizio", "Carl", "Renato", "Ahmed", "Emanuele", "Claudio", "Edmond", + "Edward", "Joe", "Jose", "Cedric", "Sergio", "Fernando", "Walter", "Ludovic", "Florian", + "Salvatore", "Erik", "Yoann", "Luciano", "Guido", "Tom", "Brian", "Georg", "Raphael", + "Henry", "Gary", "Nabil", "Luis", "Pieter", "Yvan", "Giacomo", "Ronald", "Andre", + "Oliver", "Joel", "Donald", "Andrey", "Bertrand", "Marcus", "Matthew", "Gianni", "Nick", + "Stephan", "Victor", "Jorge", "Adam", "Neil", "Adrien", "Mamadou", "Flavio", "Gian", + "Norbert", "Stefan", "Sandro", +}; + +const std::vector monacanFemalesFirstNames = { + "Jean", "Andrea", "Maria", "Catherine", "Isabelle", "Nathalie", "Anne", "Christine", + "Sophie", "Marie", "Anna", "Claude", "Sylvie", "Caroline", "Elena", "Jacqueline", + "Nicole", "Laura", "Alexandra", "Patricia", "Elisabeth", "Monique", "Brigitte", "Dominique", + "Christiane", "Sandrine", "Mireille", "Laurence", "Virginie", "Barbara", "Sandra", "Vanessa", + "Florence", "Cristina", "Olga", "Paola", "Annie", "Corinne", "Claire", "Audrey", + "Marina", "Carole", "Michele", "Sonia", "Elodie", "Karine", "Simone", "Francesca", + "Suzanne", "Colette", "Charlotte", "Muriel", "Julie", "Louise", "Fabienne", "Francis", + "Sarah", "Josiane", "Nadia", "Patrizia", "Victoria", "Evelyne", "Stephane", "Irina", + "Karen", "Chantal", "Sabrina", "Danielle", "Monica", "Magali", "Sabine", "Michelle", + "Mary", "Angela", "Roberta", "Carla", "Yvette", "Liliane", "Daniela", "Gabriele", + "Jeanne", "Samantha", "Denise", "Delphine", "Josette", "Rita", "Eliane", "Jeannine", + "Alexis", "Denis", "Olivia", "Pascale", "Valerie", "Tatiana", "Sara", "Eva", + "Emmanuelle", "Nadine", "Laetitia", "Linda", "Nicola", "Jessica", "Janine", "Claudine", + "Arlette", "Diane", "Laure", "Marguerite", "Emma", "Johanna", "Maryse", "Jennifer", + "Yvonne", "Diana", "Natalia", "Daniele", "Carine", "Alessandra", "Elizabeth", "Marine", + "Lisa", "Marion", "Manuela", "Solange", "Nancy", "Helen", "Rachel", "Alice", + "Bettina", "Emilie", "Annick", "Antonella", "Huguette", "Francine", "Alexia", "Chiara", + "Eleonora", "Valentina", "Karin", "Myriam", "Laurie", "Odette", "Stephanie", "Ingrid", + "Grace", "Pauline", "Ana", "Virginia", "Silvia", "Veronique", "Camille", "Celine", + "Teresa", "Micheline", "Christina", "Cinzia", "Jocelyne", "Anastasia", "Lucienne", "Jane", + "Alina", "Marisa", "Yannick", "Christelle", "Andreas", "Lydia", "Rose", "Juliette", + "Bianca", "Bernadette", "Svetlana", "Robin", "Nelly", "Susan", "Sylviane", "Judith", + "Aline", "Claudette", "Marianne", "Pierrette", "Elisa", "Sylvia", "Giovanna", "Viviane", + "Julia", "Clara", "Amandine", "Nataliya", "Stefania", "Katia", "Sacha", "Luisa", + "Paule", "Madeleine", "Marta", "Nina", "Claudia", "Caterina", "Edith", "Veronica", + "Larisa", "Carmen", "Marjorie", "Elvira", "Coralie", "Silvana", "Estelle", "Ruth", + "Michela", "Carol", "Camilla", "Yulia", "Jenny", "Paulette", "Anita", "Carolina", + "Eugenia", "Joelle", "Murielle", "Cynthia", "Janet", "Lara", "Fiona", "Lucia", + "Ursula", "Stella", "Wendy", "Odile", "Isabella", "Renata", "Lina", "Juan", + "Monika", "Tiziana", "Magdalena", "Natacha", "Adriana", "Emilienne", "Kelly", "Ann", + "Kristina", "Margarita", "Nicoletta", "Melanie", "Piera", "Cindy", "Elise", "Marianna", + "Carmela", "Rosanna", "Federica", "Amanda", "Melissa", "Cecile", "Armelle", "Lesley", + "Graziella", "Ekaterina", "Gabriella", "Lucie", "Anny", "Raymonde", "Yolande", "Antoinette", + "Ginette", "Annette", "Elisabetta", "Ariane", "Marcelle", "Leila", "Eveline", "Ashley", + "Beatrice", "Mathilde", "Aude", "Lydie", "Inna", "Iryna", "Morgan", "Vivian", + "Emilia", "Adrienne", "Willy", "Karina", "Ida", "Candice", "Simonetta", "Serenella", + "Marielle", "Dorota", "Eleni", "Aurore", "Erika", "Marthe", "Franca", "Lorraine", + "Fanny", "Gilberte", "Rossana", "Isabel", "Jasmine", "Giulia", "Santa", "Jeannette", + "Paula", "Dennis", "Mirella", "Maddalena", "Lucette", "Emanuela", "Flora", "Maryline", + "France", "Elsa", "Lorenza", "Rosa", "Deborah", "Maya", "Jesus", "Irene", + "Georgette", "Amina", "Justine", "Rosella", "Ewa", "Henriette", "Simona", "Irma", + "Agathe", "Lucile", "Danny", "Christel", "Veronika", "Sally", "Rosette", "Margaret", + "Dany", "Antonia", "Anouk", "Giorgia", "Joan", "Khadija", "Liliana", "Serena", + "Donatella", "Galina", "Annemarie", "Astrid", "Philippa", "Lise", +}; +} diff --git a/src/modules/person/data/monaco/MonacanLastNames.h b/src/modules/person/data/monaco/MonacanLastNames.h new file mode 100644 index 000000000..af0d3c645 --- /dev/null +++ b/src/modules/person/data/monaco/MonacanLastNames.h @@ -0,0 +1,336 @@ +#pragma once + +#include +#include + +namespace faker +{ +const std::vector monacanLastNames = { + "Rossi", + "Lorenzi", + "Pastor", + "Crovetto", + "Cellario", + "Martin", + "Smith", + "Garcia", + "Gastaud", + "Diallo", + "Bernard", + "Giordano", + "Cohen", + "Viale", + "Lopez", + "Fissore", + "Verrando", + "Williams", + "Biancheri", + "Palmero", + "Allavena", + "Martini", + "Roux", + "Carpinelli", + "Taylor", + "Pastorelli", + "Rinaldi", + "Testa", + "Ferrari", + "Bernardi", + "Marsan", + "Martinez", + "Gomez", + "Vatrican", + "Bruno", + "Michel", + "Pizzio", + "Hall", + "Blanc", + "Grimaldi", + "Perez", + "Johnson", + "Câmara", + "Medecin", + "Thomas", + "Lavagna", + "Scott", + "Costa", + "Ferrero", + "Merlino", + "Antognelli", + "Agliardi", + "Marquet", + "Berti", + "Vial", + "Lewis", + "Franco", + "Garelli", + "Boisson", + "Ramirez", + "Bertrand", + "Prat", + "Rodriguez", + "Rey", + "Garino", + "Durand", + "Battaglia", + "Marzocco", + "Ballestra", + "Klein", + "Legrand", + "Bertola", + "Benedetti", + "Boisbouvier", + "Pierre", + "Brown", + "Brezzo", + "Sangiorgio", + "Barry", + "Morel", + "Levy", + "Fabre", + "Fautrier", + "Wright", + "Tomatis", + "Notari", + "Giusti", + "Barral", + "Doria", + "Li", + "Gastaldi", + "Morris", + "Longo", + "Gibelli", + "Gallo", + "Cooper", + "Marchetti", + "Hernandez", + "Jensen", + "Toure", + "Green", + "Raimondo", + "Orsini", + "Ricciardi", + "Pallanca", + "Ross", + "Bianchi", + "Gaglio", + "Pasquier", + "Jones", + "Marcel", + "Albertini", + "Guglielmi", + "Nardi", + "Alberti", + "Squarciafichi", + "Vidal", + "Calcagno", + "Ribeiro", + "Casanova", + "Bellone", + "Mendes", + "Baldoni", + "Blanchy", + "Kim", + "Davies", + "Sbarrato", + "Daniel", + "Angelini", + "Simon", + "Zunino", + "Lambert", + "Bianco", + "Pascal", + "Miller", + "Imbert", + "Bonnet", + "Solamito", + "Richelmi", + "Orengo", + "Romano", + "Muller", + "Serra", + "Mathieu", + "Hansen", + "Campana", + "Leclercq", + "Blanchi", + "Sassi", + "Michelis", + "Aubert", + "Evans", + "Lombard", + "Joly", + "Edwards", + "Mazza", + "Reynaud", + "Sosso", + "Christensen", + "Fontaine", + "Lanteri", + "Thompson", + "Graziani", + "Ballerio", + "Seggiaro", + "Harrison", + "Moore", + "Bah", + "Da silva", + "Adams", + "Noaro", + "Balde", + "Siri", + "Davidson", + "Benoit", + "King", + "Mercier", + "Wilson", + "Petrini", + "Augier", + "Sylla", + "Singh", + "Tubino", + "Faivre", + "Albisetti", + "Griffin", + "Bonafede", + "Lajoux", + "Gabriel", + "Merlo", + "De millo-terrazzani", + "De sevelinges", + "Berrin", + "Wagner", + "Gomes", + "Buzzi", + "Van klaveren", + "Meunier", + "Palmer", + "Dessi", + "Perrin", + "Vincent", + "Guillaume", + "Ferrua", + "Valentini", + "Olivié", + "Larini", + "Barilaro", + "White", + "Bosio", + "Piano", + "Robin", + "Marin", + "Clark", + "Durando", + "Stevenson", + "Antonini", + "Julien", + "Jackson", + "Barelli", + "Ravera", + "Anderson", + "Wood", + "Robini", + "Rizzi", + "Monte-carlo", + "Perris", + "Limone", + "Revelli", + "Petit", + "Lacroix", + "Rosticher", + "Lefebvre", + "Courtin", + "Cottalorda", + "Risso", + "Vitale", + "Agostini", + "Santini", + "Ragazzoni", + "Moller", + "Boeri", + "Giovannini", + "Pons", + "Kelly", + "Ginocchio", + "Valle", + "Realini", + "Cassini", + "Picco", + "Manfredi", + "Fiorucci", + "Nucciarelli", + "Scotto", + "Russo", + "Berger", + "Dias", + "Poyet", + "Sanchez", + "Manasse", + "Keita", + "Laurent", + "Garoscio", + "Gautier", + "Ellis", + "Ivaldi", + "Traore", + "Dalmasso", + "Parker", + "Mille", + "Boero", + "Nelson", + "Vitali", + "Brousse", + "Cardone", + "Verdino", + "Reynier", + "Blair", + "Marchisio", + "Jahlan", + "Lee", + "Grassi", + "Bertoni", + "Raynaud", + "Bertani", + "Gamba", + "Orlando", + "Orecchia", + "Moreno", + "Hill", + "Rose", + "Olivier", + "Lechner", + "Ouedraogo", + "Mondino", + "Moscati", + "Oliveira", + "Robertson", + "Gonzalez", + "Weill", + "Wenden", + "Sorensen", + "Murray", + "Brunner", + "Falciani", + "Bourgery", + "Riva", + "Passeron", + "Robert", + "Versace", + "Renaud", + "Payne", + "Marquês", + "Allen", + "Varley", + "Franzini", + "Stillitano", + "Giraldi", + "Pinto", + "Croesi", + "Cruz", + "Peeters", + "Castellini", + "Corradi", + "Dessaigne", + "Olivieri", +}; +} diff --git a/src/modules/person/data/monaco/MonacanPeopleNames.h b/src/modules/person/data/monaco/MonacanPeopleNames.h new file mode 100644 index 000000000..ebd747984 --- /dev/null +++ b/src/modules/person/data/monaco/MonacanPeopleNames.h @@ -0,0 +1,15 @@ +#pragma once + +#include "../NameFormats.h" +#include "../PeopleNames.h" +#include "MonacanFirstNames.h" +#include "MonacanLastNames.h" + +namespace faker +{ +const NameFormats monacanPersonNameFormats{{"{firstName} {lastName}", 1}}; + +const PeopleNames monacanPeopleNames{{monacanMalesFirstNames, {}, monacanLastNames, {}, {}}, + {monacanFemalesFirstNames, {}, monacanLastNames, {}, {}}, + monacanPersonNameFormats}; +}