Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions src/main/java/com/github/javafaker/Faker.java
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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);
}

/**
Expand Down Expand Up @@ -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);
}
Expand Down
26 changes: 26 additions & 0 deletions src/main/java/com/github/javafaker/MartialArt.java
Original file line number Diff line number Diff line change
@@ -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.
*
* <p>Contributed by Paulo Cunha</p>
*
* @see <a href="https://github.com/paulofranklins2/">https://github.com/paulofranklins2/</a>
* @see <a href="https://www.linkedin.com/in/paulofranklins2/">https://www.linkedin.com/in/paulofranklins2/</a>
*/
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);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@ public String getPath() {
"markdown.yml",
"marketing.yml",
"matz.yml",
"martial_art.yml",
"measurement.yml",
"medical.yml",
"michael_scott.yml",
Expand Down
111 changes: 111 additions & 0 deletions src/main/resources/en/martial_art.yml
Original file line number Diff line number Diff line change
@@ -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"
]
24 changes: 24 additions & 0 deletions src/test/java/com/github/javafaker/MartialArtTest.java
Original file line number Diff line number Diff line change
@@ -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()));
}
}