diff --git a/src/main/java/com/github/javafaker/Faker.java b/src/main/java/com/github/javafaker/Faker.java index 751fb779..a48d9fe3 100644 --- a/src/main/java/com/github/javafaker/Faker.java +++ b/src/main/java/com/github/javafaker/Faker.java @@ -107,6 +107,7 @@ public class Faker { private final Sip sip; private final EnglandFootBall englandfootball; private final Mountain mountain; + private final MartialArt martialArt; public Faker() { this(Locale.ENGLISH); @@ -223,6 +224,7 @@ public Faker(FakeValuesService fakeValuesService, RandomService random) { this.sip = new Sip(this); this.englandfootball = new EnglandFootBall(this); this.mountain = new Mountain(this); + this.martialArt = new MartialArt(this); } /** @@ -691,6 +693,10 @@ public StarCraft starCraft() { public Mountain mountain() { return mountain; } + public MartialArt martialArt() { + return martialArt; + } + public String resolve(String key) { return this.fakeValuesService.resolve(key, this, this); } diff --git a/src/main/java/com/github/javafaker/MartialArt.java b/src/main/java/com/github/javafaker/MartialArt.java new file mode 100644 index 00000000..07db219c --- /dev/null +++ b/src/main/java/com/github/javafaker/MartialArt.java @@ -0,0 +1,26 @@ +package com.github.javafaker; + +/** + * Custom Faker provider for martial arts. + * Supports resolving values from "martial_art.name" and "martial_art.origin" in the locale YAML file. + * + *
Contributed by Paulo Cunha
+ * + * @see https://github.com/paulofranklins2/ + * @see https://www.linkedin.com/in/paulofranklins2/ + */ +public class MartialArt { + private final Faker faker; + + protected MartialArt(Faker faker) { + this.faker = faker; + } + + public String name() { + return faker.fakeValuesService().resolve("martial_art.name", this, faker); + } + + public String origin() { + return faker.fakeValuesService().resolve("martial_art.origin", this, faker); + } +} 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..16a8e79b 100644 --- a/src/main/java/com/github/javafaker/service/files/EnFile.java +++ b/src/main/java/com/github/javafaker/service/files/EnFile.java @@ -114,6 +114,7 @@ public String getPath() { "markdown.yml", "marketing.yml", "matz.yml", + "martial_art.yml", "measurement.yml", "medical.yml", "michael_scott.yml", diff --git a/src/main/resources/en/martial_art.yml b/src/main/resources/en/martial_art.yml new file mode 100644 index 00000000..4a103810 --- /dev/null +++ b/src/main/resources/en/martial_art.yml @@ -0,0 +1,111 @@ +en: + faker: + martial_art: + name: [ + "Kung Fu", + "Shaolin", + "Wing Chun", + "Tai Chi", + "Baguazhang", + "Xingyiquan", + "Sanda", + "Shuai Jiao", + "Karate", + "Shotokan", + "Kyokushin", + "Goju-Ryu", + "Judo", + "Jujutsu", + "Aikido", + "Kendo", + "Iaido", + "Ninjutsu", + "Kenjutsu", + "Sumo", + "Taekwondo", + "Hapkido", + "Taekkyon", + "Kuk Sool Won", + "Choi Kwang Do", + "Gongkwon Yusul", + "Muay Thai", + "Muay Boran", + "Krabi-Krabong", + "Lethwei", + "Pradal Serey", + "Bokator", + "Vovinam", + "Nhất Nam", + "Pencak Silat", + "Silat Pattani", + "Kalaripayattu", + "Gatka", + "Mardani Khel", + "Vajra-mushti", + "Angampora", + "Boxing", + "Savate", + "Fencing", + "Glima", + "Pankration", + "Catch Wrestling", + "Bartitsu", + "Schwingen", + "HEMA", + "Brazilian Jiu-Jitsu", + "Capoeira", + "Luta Livre", + "Vale Tudo", + "American Kenpo", + "MCMAP", + "10th Planet Jiu-Jitsu", + "Jeet Kune Do", + "Tire Machèt", + "Bakom", + "Dambe", + "Moraingy", + "Tahtib", + "Nguni Stick Fighting", + "Nuba Fighting", + "Istunka", + "Mixed Martial Arts", + "Krav Maga", + "Systema", + "Sambo", + "Defendo", + "Kajukenbo", + "Shootfighting", + "LINE" + ] + origin: [ + "China", + "Japan", + "Korea", + "Thailand", + "Myanmar", + "Cambodia", + "Vietnam", + "Indonesia", + "Malaysia", + "India", + "Sri Lanka", + "Brazil", + "United States", + "Haiti", + "Peru", + "France", + "Iceland", + "Greece", + "United Kingdom", + "Switzerland", + "Russia", + "Canada", + "Hawaii", + "Israel", + "Egypt", + "South Africa", + "Madagascar", + "Nigeria", + "Somalia", + "Sudan" + ] diff --git a/src/test/java/com/github/javafaker/MartialArtTest.java b/src/test/java/com/github/javafaker/MartialArtTest.java new file mode 100644 index 00000000..e40bd4c0 --- /dev/null +++ b/src/test/java/com/github/javafaker/MartialArtTest.java @@ -0,0 +1,24 @@ +package com.github.javafaker; + +import org.junit.Test; + +import static org.hamcrest.Matchers.isEmptyOrNullString; +import static org.hamcrest.Matchers.not; +import static org.junit.Assert.assertThat; + +public class MartialArtTest extends AbstractFakerTest { + + @Test + public void testMartialArtName() { + System.out.println(faker.expression("#{martial_art.name}")); // YAML key test + String name = faker.martialArt().name(); + assertThat(name, not(isEmptyOrNullString())); + } + + @Test + public void testMartialArtOrigin() { + System.out.println(faker.expression("#{martial_art.origin}")); // YAML key test + String origin = faker.martialArt().origin(); + assertThat(origin, not(isEmptyOrNullString())); + } +}