diff --git a/README.md b/README.md index d1385324..ea4c2af2 100644 --- a/README.md +++ b/README.md @@ -70,6 +70,7 @@ Fakers * Bojack Horseman * Book * Bool +* Blood * Business * ChuckNorris * Cat diff --git a/src/main/java/com/github/javafaker/Blood.java b/src/main/java/com/github/javafaker/Blood.java new file mode 100644 index 00000000..d1ac719f --- /dev/null +++ b/src/main/java/com/github/javafaker/Blood.java @@ -0,0 +1,14 @@ +package com.github.javafaker; + +public class Blood { + private final Faker faker; + + protected Blood(Faker faker) { + this.faker = faker; + } + + public String name() { + return faker.fakeValuesService().resolve("blood.name", this, faker); + } + +} diff --git a/src/main/java/com/github/javafaker/Faker.java b/src/main/java/com/github/javafaker/Faker.java index 751fb779..ba8b26d5 100644 --- a/src/main/java/com/github/javafaker/Faker.java +++ b/src/main/java/com/github/javafaker/Faker.java @@ -33,6 +33,7 @@ public class Faker { private final Book book; private final ChuckNorris chuckNorris; private final Color color; + private final Blood blood; private final Commerce commerce; private final Country country; private final Currency currency; @@ -149,6 +150,7 @@ public Faker(FakeValuesService fakeValuesService, RandomService random) { this.business = new Business(this); this.chuckNorris = new ChuckNorris(this); this.color = new Color(this); + this.blood = new Blood(this); this.idNumber = new IdNumber(this); this.hacker = new Hacker(this); this.company = new Company(this); @@ -419,6 +421,10 @@ public Color color() { return color; } + public Blood blood() { + return blood; + } + public Commerce commerce() { return commerce; } diff --git a/src/main/java/com/github/javafaker/service/files/EnFile.java b/src/main/java/com/github/javafaker/service/files/EnFile.java index 4a77ac01..3a63230b 100644 --- a/src/main/java/com/github/javafaker/service/files/EnFile.java +++ b/src/main/java/com/github/javafaker/service/files/EnFile.java @@ -39,6 +39,7 @@ public String getPath() { "bank.yml", "basketball.yml", "beer.yml", + "blood.yml", "bojack_horseman.yml", "book.yml", "bossa_nova.yml", diff --git a/src/main/resources/ar.yml b/src/main/resources/ar.yml index edc5f1fd..1ef99cc4 100644 --- a/src/main/resources/ar.yml +++ b/src/main/resources/ar.yml @@ -71,6 +71,8 @@ ar: color: name: [أحمر, أخضر, أزرق, أصفر, بنفسجيّ, نعناعيّ, أبيض, أسود, برتقاليّ, ورديّ, رماديّ, كستنائيّ, تركواز, سماريّ, خوخيّ, أوركيديّ, زيتونيّ, أرجوانيّ, ليمونيّ, نيليّ, ذهبيّ, فوشيه, لازورديّ, فضّي] + blood: + name: ["A+", "A-", "B+", "B-", "AB+", "AB-", "O+", "O-"] commerce: department: ["كتب", "أفلام", "موسيقى", "آلعاب", "الكترونيات", "حاسبات", "منزل", "حديقة", "أدوات", "بقالة", "صحة", "جمال", "آلعاب", "أطفال", "رضّع", "ملابس", "أحذية", "مجوهرات", "رياضة", "أنشطة خارجيّة", "سيّارات", "صناعات"] diff --git a/src/main/resources/ca.yml b/src/main/resources/ca.yml index b7048195..a7697c2b 100644 --- a/src/main/resources/ca.yml +++ b/src/main/resources/ca.yml @@ -29,3 +29,5 @@ ca: - "#{first_name} #{last_name} #{last_name}" color: name: [aiguamarina, albercoc, amarant, ambre, ametista, atzur, beix, bistre, blanc, blat, blau, blau cel, blau fosc, blau marí, blau reial, blauet, bronze, camussa, canyella, caqui, cardenal, carmesí, carmí, carnació, castany rogenc, celadont, ceruli, chartreuse, cian, cirera, corall, coure, crema, escarlata, granat, gris, gris fosc, groc, lavanda, lila, llima, magenta, malva, marró, morat, ocre, or, orquídia, panotxa, plata, porpra, préssec, pruna, verd, verd maragda, verd oliva, verd veronès, vermell, vermell fosc, vermelló, vinca, violat, vori] + blood: + name: ["A+", "A-", "B+", "B-", "AB+", "AB-", "O+", "O-"] diff --git a/src/main/resources/cs-CZ.yml b/src/main/resources/cs-CZ.yml index 0da9dad5..955a50fd 100644 --- a/src/main/resources/cs-CZ.yml +++ b/src/main/resources/cs-CZ.yml @@ -25,6 +25,8 @@ cs-CZ: - "#{male_first_name}.#{male_last_name}" color: name: [červená, zelená, modrá, žlutá, purpurová, bílá, černá, oranžová, růžová, šedá, fialová, tyrkysová, lososová, švesková, cihlová, olivová, magenta, hnědá, vínová, zlatá, stříbrná, azurová] + blood: + name: ["A+", "A-", "B+", "B-", "AB+", "AB-", "O+", "O-"] phone_number: formats: ['###-###-####', '(###) ###-####', '1-###-###-####', '###.###.####', '###-###-####', '(###) ###-####', '1-###-###-####', '###.###.####', '###-###-#### x###', '(###) ###-#### x###', '1-###-###-#### x###', '###.###.#### x###', '###-###-#### x####', '(###) ###-#### x####', '1-###-###-#### x####', '###.###.#### x####', '###-###-#### x#####', '(###) ###-#### x#####', '1-###-###-#### x#####', '###.###.#### x#####'] cell_phone: diff --git a/src/main/resources/de.yml b/src/main/resources/de.yml index d235969a..b41565a2 100644 --- a/src/main/resources/de.yml +++ b/src/main/resources/de.yml @@ -103,6 +103,8 @@ de: color: name: [rot, grün, blau, gelb, lila, weiß, schwarz, orange, rosa, grau, braun, violett, türkis, oliv, beige, ocker, sand, mocka, bordeaux, aprikose, mint-grün, magenta, gold, silber, bronze, limette, azur, pink] + blood: + name: ["A+", "A-", "B+", "B-", "AB+", "AB-", "O+", "O-"] commerce: department: ["Bücher", "Filme", "Musik", "Spiele", "Elektronik", "Computer", "Haushalt", "Garten", "Werkzeug", "Lebensmittel", "Gesundheit", "Beauty", "Spielzeug", "Kinder", "Kleinkinder", "Kleider", "Schuhe", "Schmuck", "Sport", "Outdoor", "Auto", "Industrie"] diff --git a/src/main/resources/en/blood.yml b/src/main/resources/en/blood.yml new file mode 100644 index 00000000..dbd2e51a --- /dev/null +++ b/src/main/resources/en/blood.yml @@ -0,0 +1,4 @@ +en: + faker: + blood: + name: ["A+", "A-", "B+", "B-", "AB+", "AB-", "O+", "O-"] diff --git a/src/main/resources/fr.yml b/src/main/resources/fr.yml index 2f423a1e..1cf2dc75 100644 --- a/src/main/resources/fr.yml +++ b/src/main/resources/fr.yml @@ -22,6 +22,8 @@ fr: color: name: ["rouge", "vert", "bleu", "jaune", "violet", "vert menthe", "bleu sarcelle", "blanc", "noir", "orange", "rose", "gris", "marron", "turquoise", "brun", "bleu ciel", "saumon", "prune", "orchidée", "olive", "magenta", "vert citron", "ivoire", "indigo", "or", "fuchsia", "cyan", "azur", "lavande", "argent"] + blood: + name: ["A+", "A-", "B+", "B-", "AB+", "AB-", "O+", "O-"] compass: cardinal: diff --git a/src/main/resources/hu.yml b/src/main/resources/hu.yml index 33e7ce88..b5441a31 100644 --- a/src/main/resources/hu.yml +++ b/src/main/resources/hu.yml @@ -58,6 +58,8 @@ hu: color: name: [vörös, zöld, kék, sárga, lila, mentazöld, zöldeskék, fehér, fekete, narancssárga, rózsaszín, szürke, gesztenyebarna, ibolya, türkiz, cser, égszínkék, lazacszín, szilvakék, oliva, bíborvörös, lime, csontfehér, indigókék, aranyszín, fukszia, ciánkék, levendula, ezüst] + blood: + name: ["A+", "A-", "B+", "B-", "AB+", "AB-", "O+", "O-"] commerce: department: ["Könyvek", "Filmek", "Zene", "Játékok", "Műszaki készülékek", "Számítógépek", "Otthon", "Kert", "Szerszámok", "Élelmiszer", "Egészség", "Kozmetika", "Gyermekholmik", "Babaholmik", "Ruházat", "Cipők", "Ékszer", "Sportszer", "Túrafelszerelés", "Gépjármű"] diff --git a/src/main/resources/hy.yml b/src/main/resources/hy.yml index cd271a4a..7ecb7e0f 100644 --- a/src/main/resources/hy.yml +++ b/src/main/resources/hy.yml @@ -281,6 +281,8 @@ hy: color: name: [կարմիր, կանաչ, կապույտ, դեղին, մանուշակագույն, սպիտակ, սև, նարնջագույն, վարդագույն, մոխրագույն, շագանակագույն, մանուշակագույն, փիրուզագույն, երկնագույն, դեղնավարդագույն, մուգ մանուշակագույն, դեղնականաչ, ոսկեգույն, դարչնագույն] + blood: + name: ["A+", "A-", "B+", "B-", "AB+", "AB-", "O+", "O-"] commerce: department: [Գրքեր, Ֆիլմեր, Երաժշտություն, Խաղեր, Խաղալիքեր, Էլեկտրոնիկա, Համակարգիչներ, Ապրանքներ Տան Համար, Ապրանքներ Այգեգործության Համար, Գործիքներ, Նպարեղեն, Առողջապահական Ապրանքներ, Կոսմետիկ Ապրանքներ, Մանկական Ապրանքներ, Ապրանքներ Նորածինների Համար, Հագուստ, Կոշկեղեն, Ոսկերչական Իրեր, Սպորտային Ապրանքներ, Ավտոմոբիլների Պահեստամասեր, Արդյունաբերական Ապրանքներ] diff --git a/src/main/resources/ja.yml b/src/main/resources/ja.yml index 92e04e98..64c86984 100644 --- a/src/main/resources/ja.yml +++ b/src/main/resources/ja.yml @@ -30,6 +30,8 @@ ja: color: name: ["赤", "緑", "青", "黄", "紫", "ミントグリーン", "ティール", "白", "黒", "オレンジ", "ピンク", "灰色", "栗色", "バイオレット", "ターコイズブルー", "タン", "空色", "サーモン", "プラム", "オーキッド", "オリーブ", "マゼンタ", "ライム", "アイボリー", "藍色", "金", "フクシア", "シアン", "紺碧", "ラベンダー", "銀"] + blood: + name: ["A+", "A-", "B+", "B-", "AB+", "AB-", "O+", "O-"] company: suffix: ["株式会社", "有限会社", "合名会社", "合資会社", "合同会社"] diff --git a/src/main/resources/pt-BR.yml b/src/main/resources/pt-BR.yml index 66a98b0b..c161154c 100644 --- a/src/main/resources/pt-BR.yml +++ b/src/main/resources/pt-BR.yml @@ -642,6 +642,8 @@ pt-BR: suffix: ["Jr.", "Neto", "Filho"] color: name: ["Abóbora", "Amaranto", "Amarelo", "Âmbar", "Ameixa", "Ardósia", "Azul", "Azul-bebê", "Azul-claro", "Azul-cobalto", "Azul-esverdeado", "Azul-marinho", "Azul-persa", "Azul-violeta", "Bege", "Branco", "Carmesim", "Carmim", "Cereja", "Cerúleo", "Champagne", "Chocolate", "Cinza", "Coral", "Escarlate", "Framboesa", "Índigo", "Laranja", "Lavanda", "Lilás", "Lima", "Magenta", "Marfim", "Marrom", "Oliva", "Ouro", "Pêssego", "Prata", "Preto", "Rosa", "rosa-arroxeado", "Rosa-magenta", "Roxo", "Salmão", "Turquesa", "Uva", "Verde", "Verde-água", "Verde-claro", "Verde-jade", "Verde-limão", "Verde-primavera", "Vermelho", "Violeta"] + blood: + name: ["A+", "A-", "B+", "B-", "AB+", "AB-", "O+", "O-"] team: main_teams: ['Flamengo', 'Fluminense', 'Botafogo', 'Vasco da Gama', 'Corinthians','Grêmio','Flamengo','Palmeiras','Santos','Coritiba','Cruzeiro','Ponte Preta', 'Chapecoense', 'Sport','São Paulo','Bahia', 'Vitória', 'Avaí', 'América'] prefix: ['Grêmio', 'Atlético', 'Clube de Regatas', 'Esporte'] diff --git a/src/main/resources/th.yml b/src/main/resources/th.yml index dc198a1a..4a49f776 100644 --- a/src/main/resources/th.yml +++ b/src/main/resources/th.yml @@ -18,6 +18,8 @@ th: color: name: [แดง, สัม, แสด, เหลือง, เขียวอ่อน, เขียวแก่, ฟ้า, น้ำเงิน, ม่วง, ชมพู, ขาว, ดำ, เทา, น้ำตาล, เนื้อ, น้ำตาลไหม้, น้ำตาลอ่อน, เกาลัด, ธัญพืช, โอ๊ต, ชานม, ทราย, น้ำตาลดำ, เหลืองไหล, นวลจันทร์, เหลืองรงค์, นวล, เหลืองดิน, แดงชาด, เสน, ดินแดง, หิงส์ดิน, แดงดอกชบา, บัวโรย, แดงเลือดหมู, แดงเลือดนก, หงชาด, ลิ้นจี่, ม่วงดอกตะแบก, ฟ้าแลบ, ควายเผือก, ม่วงดอกผักตบ, คราม, เมฆคราม, ม่วงเม็ดมะปราง, ลูกหว้า, ขาวกระบัง, น้ำไหล, ผ่านคราม, เขียวใบแค, เขียวไหล, ผุ่นแดง, ดำเขม่า, หมึกจีน, เขียวตังแข] + blood: + name: ["A+", "A-", "B+", "B-", "AB+", "AB-", "O+", "O-"] internet: domain_suffix: [co.th, net, io, com, org] diff --git a/src/test/java/com/github/javafaker/BloodTest.java b/src/test/java/com/github/javafaker/BloodTest.java new file mode 100644 index 00000000..783ca691 --- /dev/null +++ b/src/test/java/com/github/javafaker/BloodTest.java @@ -0,0 +1,14 @@ +package com.github.javafaker; + +import org.junit.Test; + +import static com.github.javafaker.matchers.MatchesRegularExpression.matchesRegularExpression; +import static org.junit.Assert.assertThat; + +public class BloodTest extends AbstractFakerTest { + // must match one of the blood types in the list + @Test + public void testName() { + assertThat(faker.blood().name(), matchesRegularExpression("A\\+|A-|B\\+|B-|AB\\+|AB-|O\\+|O-")); + } +} \ No newline at end of file diff --git a/src/test/java/com/github/javafaker/integration/FakerIT.java b/src/test/java/com/github/javafaker/integration/FakerIT.java index 07ddc89c..c5a2244a 100644 --- a/src/test/java/com/github/javafaker/integration/FakerIT.java +++ b/src/test/java/com/github/javafaker/integration/FakerIT.java @@ -105,6 +105,7 @@ public void testAllFakerMethodsThatReturnStrings() throws Exception { testAllMethodsThatReturnStringsActuallyReturnStrings(faker.book()); testAllMethodsThatReturnStringsActuallyReturnStrings(faker.chuckNorris()); testAllMethodsThatReturnStringsActuallyReturnStrings(faker.color()); + testAllMethodsThatReturnStringsActuallyReturnStrings(faker.blood()); testAllMethodsThatReturnStringsActuallyReturnStrings(faker.commerce()); testAllMethodsThatReturnStringsActuallyReturnStrings(faker.company()); testAllMethodsThatReturnStringsActuallyReturnStrings(faker.country());