diff --git a/Source/Bogus.Tests/LocaleTests/HyLocale.cs b/Source/Bogus.Tests/LocaleTests/HyLocale.cs new file mode 100644 index 00000000..3a895271 --- /dev/null +++ b/Source/Bogus.Tests/LocaleTests/HyLocale.cs @@ -0,0 +1,209 @@ +using Bogus.DataSets; +using FluentAssertions; +using Xunit; +using Xunit.Abstractions; + +namespace Bogus.Tests.LocaleTests; + +public class HyLocale : SeededTest +{ + private readonly ITestOutputHelper console; + + public HyLocale(ITestOutputHelper console) + { + this.console = console; + } + + [Fact] + public void name_should_support_gender_first_names() + { + var name = new Name("hy"); + name.SupportsGenderFirstNames.Should().BeTrue(); + } + + [Fact] + public void name_should_not_support_gender_last_names() + { + var name = new Name("hy"); + name.SupportsGenderLastNames.Should().BeFalse(); + } + + [Fact] + public void name_should_not_support_gender_prefix() + { + var name = new Name("hy"); + name.SupportsGenderPrefixes.Should().BeFalse(); + } + + [Fact] + public void name_should_have_firstname_list() + { + var name = new Name("hy"); + name.HasFirstNameList.Should().BeTrue(); + } + + [Fact] + public void male_first_name() + { + var name = new Name("hy"); + var firstName = name.FirstName(Name.Gender.Male); + firstName.Should().Be("Գևորգ"); + } + + [Fact] + public void female_first_name() + { + var name = new Name("hy"); + var firstName = name.FirstName(Name.Gender.Female); + firstName.Should().Be("Կարինե"); + } + + [Fact] + public void female_fullname_should_be_firstname_lastname() + { + var name = new Name("hy"); + var fullName = name.FullName(Name.Gender.Female); + fullName.Should().Be("Կարինե Հակոբյան"); + } + + [Fact] + public void male_fullname_should_be_firstname_lastname() + { + var name = new Name("hy"); + var fullName = name.FullName(Name.Gender.Male); + fullName.Should().Be("Գևորգ Հակոբյան"); + } + + [Fact] + public void should_have_city_prefix() + { + var address = new Address("hy"); + address.CityPrefix().Should().Be("Հարավային"); + } + + [Fact] + public void should_have_city_suffix() + { + var address = new Address("hy"); + address.CitySuffix().Should().Be("աշեն"); + } + + [Fact] + public void should_have_country() + { + var address = new Address("hy"); + address.Country().Should().Be("Մոնտսերատ"); + } + + [Fact] + public void should_have_building_number() + { + var address = new Address("hy"); + address.BuildingNumber().Should().Be("18/6"); + } + + [Fact] + public void should_have_street_suffix() + { + var address = new Address("hy"); + address.StreetSuffix().Should().Be(" պողոտա"); + } + + [Fact] + public void should_have_secondary_address() + { + var address = new Address("hy"); + address.SecondaryAddress().Should().Be("Տուն 186"); + } + + [Fact] + public void should_have_state() + { + var address = new Address("hy"); + address.State().Should().Be("Ստեփանակերտ"); + } + + [Fact] + public void should_have_city() + { + var address = new Address("hy"); + address.City().Should().Be("Հակոբյանաշատ"); + } + + [Fact] + public void should_have_street_name() + { + var address = new Address("hy"); + address.StreetName().Should().Be("Հակոբյան պողոտա"); + } + + [Fact] + public void should_have_street_address() + { + var address = new Address("hy"); + address.StreetAddress().Should().Be("Եղիազարյան պողոտա 064 Տուն 391"); + } + + [Fact] + public void should_have_direction() + { + var address = new Address("hy"); + address.Direction().Should().Be("Հյուսիսարևելյան"); + } + + [Fact] + public void should_have_domain_suffix() + { + var internet = new Internet("hy"); + internet.DomainSuffix().Should().Be("am"); + } + + [Fact] + public void should_have_words() + { + var lorem = new Lorem("hy"); + lorem.Word().Should().Be("ոչ"); + } + + [Fact] + public void should_have_phone_number() + { + var phoneNumbers = new PhoneNumbers("hy"); + phoneNumbers.PhoneNumber().Should().Be("+374 186 06064"); + } + + [Fact] + public void should_have_color() + { + var commerce = new Commerce("hy"); + commerce.Color().Should().Be("նարնջագույն"); + } + + [Fact] + public void should_have_month() + { + var date = new Date("hy"); + date.Month().Should().Be("Օգոստոս"); + } + + [Fact] + public void should_have_month_abbr() + { + var date = new Date("hy"); + date.Month(true).Should().Be("Օգս"); + } + + [Fact] + public void should_have_weekday() + { + var date = new Date("hy"); + date.Weekday().Should().Be("Հինգշաբթի"); + } + + [Fact] + public void should_have_weekday_abbr() + { + var date = new Date("hy"); + date.Weekday(true).Should().Be("հնգ"); + } +} \ No newline at end of file diff --git a/Source/Bogus/data/hy.locale.bson b/Source/Bogus/data/hy.locale.bson new file mode 100644 index 00000000..140ec3a8 Binary files /dev/null and b/Source/Bogus/data/hy.locale.bson differ diff --git a/Source/Bogus/data/hy.locale.json b/Source/Bogus/data/hy.locale.json new file mode 100644 index 00000000..87b848e0 --- /dev/null +++ b/Source/Bogus/data/hy.locale.json @@ -0,0 +1,830 @@ +{ + "title": "Armenian", + "address": { + "city_prefix": ["Հյուսիսային", "Արևելյան", "Արևմտյան", "Հարավային", "Նոր"], + "city_suffix": ["ակերտ", "աշեն", "աշատ"], + "country": [ + "ԱՄՆ", + "Ադրբեջան", + "Ալբանիա", + "Ալժիր", + "Ամերիկյան Սամոա", + "Ամերիկյան Վիրջինյան կղզիներ", + "Անգիլիա", + "Անգոլա", + "Անդորրա", + "Անտիգուա և Բարբուդա", + "Ավստրալիա", + "Ավստրիա", + "Արգենտինա", + "Արուբա", + "Արցախի Հանրապետություն", + "Արևելյան Թիմոր", + "Աֆղանստան", + "Բահամներ", + "Բահրեյն", + "Բանգլադեշ", + "Բարբադոս", + "Բելառուս", + "Բելիզ", + "Բենին", + "Բերմուդա", + "Բոլիվիա", + "Բոսնիա և Հերցեգովինա", + "Բոտսվանա", + "Բութան", + "Բուլղարիա", + "Բուրկինա Ֆասո", + "Բուրունդի", + "Բրազիլիա", + "Բրիտանական Վիրջինյան Կղզիներ", + "Բրունեյ", + "Գաբոն", + "Գամբիա", + "Գայանա", + "Գերմանիա", + "Գերնսի", + "Գուամ", + "Գվատեմալա", + "Գվինեա", + "Գվինեա-Բիսաու", + "Գրենադա", + "Դանիա", + "Դոմինիկա", + "Դոմինիկյան Հանրապետություն", + "Եգիպտոս", + "Եթովպիա", + "Եմեն", + "Զամբիա", + "Զիմբաբվե", + "Էկվադոր", + "Էստոնիա", + "Էրիտրեա", + "Թաիլանդ", + "Թայվան", + "Թըրքս և Կայկոս կղզիներ", + "Թունիս", + "Թուրքիա", + "Թուրքմենստան", + "Ինդոնեզիա", + "Իռլանդիա", + "Իսլանդիա", + "Իսպանիա", + "Իսրայել", + "Իտալիա", + "Իրան", + "Իրաք", + "Լաոս", + "Լատվիա", + "Լեհաստան", + "Լեսոթո", + "Լիբանան", + "Լիբերիա", + "Լիբիա", + "Լիխտենշտայն", + "Լիտվա", + "Լյուքսեմբուրգ", + "Խորվաթիա", + "Կաբո Վերդե", + "Կամբոջա", + "Կամերուն", + "Կայմանյան կղզիներ", + "Կանադա", + "Կատար", + "Կենտրոնաաֆրիկյան Հանրապետություն", + "Կիպրոս", + "Կիրիբատի", + "Կոլումբիա", + "Կոմորներ", + "Կոնգոյի Հանրապետություն", + "ԿոնգոյիԴեմոկրատական Հանրապետություն ԿԴՀ", + "Կոստա Ռիկա", + "Կոտ դ'Իվուար", + "Կուբա", + "Կուկի կղզիներ", + "Հայաստան", + "Հայիթի", + "Հասարակածային Գվինեա", + "Հարավային Կորեա", + "Հարավաֆրիկյան Հանրապետություն", + "Հյուսիսային Կորեա", + "Հյուսիսային Մակեդոնիա", + "Հյուսիսային Մարիանյան կղզիներ", + "Հնդկաստան", + "Հոնդուրաս", + "Հոնկոնգ", + "Հորդանան", + "Հունաստան", + "Հունգարիա", + "Ղազախստան", + "Ղրղզստան", + "Ճամայկա", + "Ճապոնիա", + "ՄԱԷ", + "ՄԹ", + "Մադագասկար", + "Մալայզիա", + "Մալավի", + "Մալդիվներ", + "Մալթա", + "Մալի", + "Մակաու", + "Մայոտ", + "Մավրիկիոս", + "Մավրիտանիա", + "Մարշալյան կղզիներ", + "Մարոկկո", + "Մեն կղզի", + "Մեքսիկա", + "Միկրոնեզիա", + "Մյանմա", + "Մոզամբիկ", + "Մոլդովա", + "Մոնակո", + "Մոնղոլիա", + "Մոնտսերատ", + "Նամիբիա", + "Նաուրու", + "Նեպալ", + "Նիգեր", + "Նիգերիա", + "Նիդերլանդյան Անտիլներ", + "Նիդերլանդներ", + "Նիկարագուա", + "Նիուե", + "Նոր Զելանդիա", + "Նոր Կալեդոնիա", + "Նորվեգիա", + "Նորֆոլք կղզի", + "Շվեդիա", + "Շվեյցարիա", + "Շրի Լանկա", + "Ուգանդա", + "Ուզբեկստան", + "Ուկրաինա", + "Ուոլիս և Ֆուտունա", + "Ուրուգվայ", + "Չադ", + "Չեխիա", + "Չեռնոգորիա", + "Չիլի", + "Չինաստան", + "Պալաու", + "Պակիստան", + "Պաղեստին", + "Պանամա", + "Պապուա Նոր Գվինեա", + "Պարագվայ", + "Պերու", + "Պորտուգալիա", + "Պուերտո Ռիկո", + "Ջերսի", + "Ջիբութի", + "Ջիբրալթար", + "Ռուանդա", + "Ռումինիա", + "Ռուսաստան", + "Սալվադոր", + "Սահրավիա", + "Սամոա", + "Սան Մարինո", + "Սան Տոմե և Պրինսիպի", + "Սաուդյան Արաբիա", + "Սեյշելներ", + "Սեն Մարտեն (Ֆրանսիական Անտիլներ)", + "Սենեգալ", + "Սենտ Լյուսիա", + "Սենտ Կիտս և Նևիս", + "Սենտ Պիեռ և Միկելոն", + "Սենտ Վինսենտ և Գրենադիներ", + "Սերբիա", + "Սիեռա Լեոնե", + "Սինգապուր", + "Սիրիա", + "Սլովակիա", + "Սլովենիա", + "Սողոմոնյան Կղզիներ", + "Սոմալիա", + "Սուդան", + "Սուրբ Բարդուղիմեոսի կղզի", + "Սուրբ Հեղինեի կղզի", + "Սուրինամ", + "Սվազիլենդ", + "Վանուատու", + "Վատիկան", + "Վենեսուելա", + "Վիետնամ", + "Վրաստան", + "Տանզանիա", + "Տաջիկստան", + "Տոգո", + "Տոկելաու", + "Տոնգա", + "Տուվալու", + "Տրինիդադ Տոբագո", + "Փիթքերն կղզիներ", + "Քենիա", + "Քուվեյթ", + "Օման", + "Ֆարերյան կղզիներ", + "Ֆիլիպիններ", + "Ֆինլանդիա", + "Ֆիջի", + "Ֆոլկլենդյան կղզիներ", + "Ֆրանսիա", + "Ֆրանսիական Պոլինեզիա" + ], + "building_number": ["###", "###/#", "##", "##/#", "#", "#/#"], + "street_suffix": [" փողոց", " պողոտա"], + "secondary_address": ["Բն. ###", "Տուն ###"], + "state": [ + "Արագածոտն", + "Արարատ", + "Արմավիր", + "Գեղարքունիք", + "Կոտայք", + "Լոռի", + "Շիրակ", + "Սյունիք", + "Տավուշ", + "Վայոց ձոր", + "Երևան", + "Ստեփանակերտ", + "Ասկերան", + "Հադրութ", + "Մարտակերտ", + "Մարտունի", + "Շահումյան", + "Շուշի", + "Քաշաթաղ" + ], + "city": [ + "#{address.city_prefix} #{name.last_name}", + "#{name.last_name}#{address.city_suffix}" + ], + "street_name": ["#{name.last_name} #{address.street_suffix}"], + "street_address": ["#{address.street_name} #{address.building_number} #{address.secondary_address}"], + "default_country": ["Արցախի Հանրապետություն"], + "direction": [ + "Հյուսիսային", + "Արևելյան", + "Հարավային", + "Արևմտյան", + "Հյուսիսարևելյան", + "Հյուսիսարևմտյան", + "Հարավարևելյան", + "Հարավարևմտյան" + ] + }, + "internet": { + "domain_suffix": [ + "net", + "com", + "biz", + "info", + "am", + "name", + "org" + ] + }, + "lorem": { + "words": [ + "տարի", + "որ", + "փոխեց", + "ամեն", + "ինչ", + "կենցաղից", + "մինչև", + "համաշխարհային", + "տնտեսություն", + "մի", + "քանի", + "շաբաթում", + "բնականոն", + "դարձնելով", + "այն", + "դեռ", + "երեկ", + "անհնար", + "էր", + "թվում", + "ը", + "շատերի", + "համար", + "կմնա", + "որպես", + "անտեսանելի", + "աղետի", + "խստագույն", + "սահմանափակումների", + "մարդկային", + "կորուստների", + "և", + "գործազրկության", + "Տարեսկզբին", + "չինական", + "Վուհանի", + "շուկայում", + "ենթադրաբար", + "չղջիկից", + "մարդուն", + "փոխանցված", + "վիրուսն", + "ապացուցեց", + "տեխնոլոգիական", + "նվաճումների", + "հասած", + "մարդկությունը", + "դեռևս", + "շատ", + "բան", + "չգիտի", + "իր", + "սեփական", + "առողջության", + "բնության", + "ու", + "դրա", + "հետ", + "հարաբերությունների", + "մասին", + "Գարնանը", + "երբ", + "վիրուսը", + "կաթվածահար", + "արեց", + "կյանքը", + "գրեթե", + "ողջ", + "աշխարհում", + "Հռոմի", + "կաթոլիկ", + "եկեղեցու", + "առաջնորդն", + "հավատացյալ", + "հոտին", + "դիմեց", + "աղոթքով", + "տարվա", + "ընթացքում", + "շատերն", + "էին", + "հիշում", + "մեջբերում", + "Մենք", + "առաջ", + "էինք", + "շարժվում", + "գլխապտույտ", + "արագությամբ", + "վստահ", + "ուժեղ", + "ենք", + "կարող", + "անել", + "կամենանք", + "Ձգտելով", + "անձնական", + "բարեկեցության", + "մենք", + "թույլ", + "տալիս", + "մեզ", + "տարվել", + "նյութականով", + "վազում", + "շահի", + "ետևից", + "չէին", + "կանգնեցնում", + "մեր", + "շուրջ", + "մոլեգնող", + "պատերազմներն", + "անարդարությունը", + "ոչ", + "էլ", + "աղքատների", + "օգնություն", + "աղերսող", + "ձայնն", + "լսում", + "շարունակում", + "ընթացքը", + "չնայելով", + "բանի", + "առողջ", + "մնալ", + "հիվանդ", + "հայտարարել", + "պապը", + "Անտեսանելի", + "առեղծվածային", + "մեկ", + "տարում", + "խլեց", + "ավելի", + "քան", + "միլիոն", + "հազար", + "մարդու", + "կյանք", + "վարակվեցին", + "միլիոնից", + "ավելին", + "վարակվածներից", + "յուրաքանչյուր", + "չորրորդը", + "մոտ", + "միլիոնը", + "այս", + "պահին", + "պայքարում", + "է", + "հիվանդության", + "դեմ", + "մարդ", + "գտնվում", + "ծայրահեղ", + "ծանր", + "վիճակում", + "Եվ", + "եթե", + "տարեսկզբին", + "որոշ", + "պետություններ", + "պարծենալ", + "իրենց", + "առողջապահական", + "համակարգերով", + "նորագույն", + "տեխնոլոգիաներով", + "ապա", + "համավարակից", + "հետո", + "ակնհայտ", + "դարձավ", + "անկախ", + "բյուջի", + "չափից", + "հնարավորություններից", + "հարուստ", + "թե", + "աղքատ", + "բոլորն", + "են", + "նույն", + "նավակում", + "նույնքան", + "անպաշտպան" + ] + }, + "phone_number": { + "formats": [ + "+374 ## ######", "+374 ### #####" + ] + }, + "name": { + "female_first_name": [ + "Մարիա", + "Նարե", + "Մանե", + "Մարի", + "Մարիամ", + "Անի", + "Անգելինա", + "Անահիտ", + "Էլեն", + "Միլենա", + "Եվա", + "Աննա", + "Արփի", + "Գայանե", + "Լիլիթ", + "Մերի", + "Վիկտորյա", + "Արինա", + "Յանա", + "Սոնա", + "Նատալի", + "Գոհար", + "Հասմիկ", + "Սոֆի", + "Էմիլի", + "Սուսաննա", + "Արևիկ", + "Կարինե", + "Լյուսի", + "Արիանա", + "Տաթև", + "Լիկա", + "Ռուզաննա", + "Լիլի", + "Սոֆյա", + "Անուշ", + "Էլինա", + "Սառա", + "Նանե", + "Էվա", + "Լիանա", + "Մոնիկա", + "Կարինա", + "Լիա", + "Նարինե", + "Լուսինե" + ], + "male_first_name": [ + "Դավիթ", + "Նարեկ", + "Ալեքս", + "Տիգրան", + "Հայկ", + "Գոռ", + "Արթուր", + "Արմեն", + "Մարկ", + "Էրիկ", + "Արամ", + "Սամվել", + "Արման", + "Ալեն", + "Աշոտ", + "Արեն", + "Գագիկ", + "Դանիել", + "Արեգ", + "Ռոբերտ", + "Արտյոմ", + "Արսեն", + "Միքայել", + "Սարգիս", + "Հովհաննես", + "Վահե", + "Կարեն", + "Գևորգ", + "Լևոն", + "Վարդան", + "Ռուբեն", + "Սուրեն", + "Հակոբ", + "Մհեր", + "Անդրանիկ", + "Ավետ", + "Գրիգոր", + "Ռաֆայել", + "Ալեքսանդր", + "Մոնթե", + "Հարություն", + "Էդուարդ", + "Ալբերտ", + "Գարիկ", + "Համլետ" + ], + "last_name": [ + "Հարությունյան", + "Սարգսյան", + "Հովհաննիսյան", + "Գրիգորյան", + "Խաչատրյան", + "Հակոբյան", + "Վարդանյան", + "Պետրոսյան", + "Կարապետյան", + "Գևորգյան", + "Մկրտչյան", + "Ղազարյան", + "Մանուկյան", + "Պողոսյան", + "Ավետիսյան", + "Մարտիրոսյան", + "Սահակյան", + "Դավթյան", + "Առաքելյան", + "Մարգարյան", + "Գալստյան", + "Բաղդասարյան", + "Ստեփանյան", + "Հայրապետյան", + "Սիմոնյան", + "Ավագյան", + "Գասպարյան", + "Մուրադյան", + "Ասատրյան", + "Հովսեփյան", + "Աբրահամյան", + "Զաքարյան", + "Մելքոնյան", + "Ալեքսանյան", + "Մխիթարյան", + "Բարսեղյան", + "Մովսիսյան", + "Կիրակոսյան", + "Եղիազարյան", + "Բաբայան", + "Մնացականյան", + "Թադևոսյան", + "Մինասյան", + "Համբարձումյան", + "Այվազյան", + "Գաբրիելյան", + "Ներսիսյան" + ], + "first_name": [ + "Մարիա", + "Նարե", + "Մանե", + "Մարի", + "Մարիամ", + "Անի", + "Անգելինա", + "Անահիտ", + "Էլեն", + "Միլենա", + "Եվա", + "Աննա", + "Արփի", + "Գայանե", + "Լիլիթ", + "Մերի", + "Վիկտորյա", + "Արինա", + "Յանա", + "Սոնա", + "Նատալի", + "Գոհար", + "Հասմիկ", + "Սոֆի", + "Էմիլի", + "Սուսաննա", + "Արևիկ", + "Կարինե", + "Լյուսի", + "Արիանա", + "Տաթև", + "Լիկա", + "Ռուզաննա", + "Լիլի", + "Սոֆյա", + "Անուշ", + "Էլինա", + "Սառա", + "Նանե", + "Էվա", + "Լիանա", + "Մոնիկա", + "Կարինա", + "Լիա", + "Նարինե", + "Լուսինե", + "Դավիթ", + "Նարեկ", + "Ալեքս", + "Տիգրան", + "Հայկ", + "Գոռ", + "Արթուր", + "Արմեն", + "Մարկ", + "Էրիկ", + "Արամ", + "Սամվել", + "Արման", + "Ալեն", + "Աշոտ", + "Արեն", + "Գագիկ", + "Դանիել", + "Արեգ", + "Ռոբերտ", + "Արտյոմ", + "Արսեն", + "Միքայել", + "Սարգիս", + "Հովհաննես", + "Վահե", + "Կարեն", + "Գևորգ", + "Լևոն", + "Վարդան", + "Ռուբեն", + "Սուրեն", + "Հակոբ", + "Մհեր", + "Անդրանիկ", + "Ավետ", + "Գրիգոր", + "Ռաֆայել", + "Ալեքսանդր", + "Մոնթե", + "Հարություն", + "Էդուարդ", + "Ալբերտ", + "Գարիկ", + "Համլետ" + ], + "name": [ + "#{name.prefix} #{name.first_name} #{name.last_name}", + "#{name.first_name} #{name.last_name} #{name.suffix}", + "#{name.first_name} #{name.last_name}" + ] + }, + "commerce": { + "color": [ + "կարմիր", + "կանաչ", + "կապույտ", + "դեղին", + "մանուշակագույն", + "սպիտակ", + "սև", + "նարնջագույն", + "վարդագույն", + "մոխրագույն", + "երկնագույն", + "ոսկեգույն" + ] + }, + "date": { + "month": { + "wide": [ + "Հունվար", + "Փետրվար", + "Մարտ", + "Ապրիլ", + "Մայիս", + "Հունիս", + "Հուլիս", + "Օգոստոս", + "Սեպտեմբեր", + "Հոկտեմբեր", + "Նոյեմբեր", + "Դեկտեմբեր" + ], + "wide_context": [ + "Հունվար", + "Փետրվար", + "Մարտ", + "Ապրիլ", + "Մայիս", + "Հունիս", + "Հուլիս", + "Օգոստոս", + "Սեպտեմբեր", + "Հոկտեմբեր", + "Նոյեմբեր", + "Դեկտեմբեր" + ], + "abbr": [ + "Հնվ", + "Փտր", + "Մրտ", + "Ապր", + "Մյս", + "Հնս", + "Հլս", + "Օգս", + "Սպտ", + "Հկտ", + "Նմբ", + "Դկտ" + ], + "abbr_context": [ + "Հնվ", + "Փտր", + "Մրտ", + "Ապր", + "Մյս", + "Հնս", + "Հլս", + "Օգս", + "Սպտ", + "Հկտ", + "Նմբ", + "Դկտ" + ] + }, + "weekday": { + "wide": [ + "Կիրակի", + "Երկուշաբթի", + "Երեքշաբթի", + "Չորեքշաբթի", + "Հինգշաբթի", + "Ուրբաթ", + "Շաբաթ" + ], + "wide_context": [ + "Կիրակի", + "Երկուշաբթի", + "Երեքշաբթի", + "Չորեքշաբթի", + "Հինգշաբթի", + "Ուրբաթ", + "Շաբաթ" + ], + "abbr": [ "կրկ", "երկ", "երք", "չրք", "հնգ", "ուրբ", "շբթ" ], + "abbr_context": [ "կրկ", "երկ", "երք", "չրք", "հնգ", "ուրբ", "շբթ" ] + } + } +} \ No newline at end of file