diff --git a/README.md b/README.md index 2d7c0324e..d1333820d 100644 --- a/README.md +++ b/README.md @@ -212,6 +212,7 @@ Providers * Hipster * HitchhikersGuideToTheGalaxy * Hobbit +* House * HowIMetYourMother * IdNumber * Internet diff --git a/src/main/java/net/datafaker/Faker.java b/src/main/java/net/datafaker/Faker.java index 8e7965031..ba193d03f 100644 --- a/src/main/java/net/datafaker/Faker.java +++ b/src/main/java/net/datafaker/Faker.java @@ -578,6 +578,10 @@ public Horse horse() { return getProvider(Horse.class, () -> new Horse(this)); } + public House house() { + return getProvider(House.class, () -> new House(this)); + } + public HowIMetYourMother howIMetYourMother() { return getProvider(HowIMetYourMother.class, () -> new HowIMetYourMother(this)); } diff --git a/src/main/java/net/datafaker/House.java b/src/main/java/net/datafaker/House.java new file mode 100644 index 000000000..b0111bbca --- /dev/null +++ b/src/main/java/net/datafaker/House.java @@ -0,0 +1,28 @@ +package net.datafaker; + +public class House { + + private final Faker faker; + + protected House(Faker faker) { + this.faker = faker; + } + + /** + * This method generates a random name of furniture. + * + * @return a string of furniture. + */ + public String furniture() { + return faker.fakeValuesService().resolve("house.furniture", this, faker); + } + + /** + * This method generates a random name of a room in a house. + * + * @return a string of room. + */ + public String room() { + return faker.fakeValuesService().resolve("house.rooms", this, faker); + } +} diff --git a/src/main/java/net/datafaker/service/files/EnFile.java b/src/main/java/net/datafaker/service/files/EnFile.java index 10ed49e7a..7b7464244 100644 --- a/src/main/java/net/datafaker/service/files/EnFile.java +++ b/src/main/java/net/datafaker/service/files/EnFile.java @@ -116,7 +116,7 @@ public String getPath() { "hitchhikers_guide_to_the_galaxy.yml", "hobbit.yml", "hobby.yml", -// "house.yml", + "house.yml", "how_i_met_your_mother.yml", "id_number.yml", // "industry_segments.yml", diff --git a/src/main/resources/en/house.todo.yml b/src/main/resources/en/house.yml similarity index 100% rename from src/main/resources/en/house.todo.yml rename to src/main/resources/en/house.yml diff --git a/src/test/java/net/datafaker/HouseTest.java b/src/test/java/net/datafaker/HouseTest.java new file mode 100644 index 000000000..ee7005f4f --- /dev/null +++ b/src/test/java/net/datafaker/HouseTest.java @@ -0,0 +1,18 @@ +package net.datafaker; + +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +class HouseTest extends AbstractFakerTest { + + @Test + void testFurniture() { + assertThat(faker.house().furniture()).matches("^[a-zA-Z ]+$"); + } + + @Test + void testRoom() { + assertThat(faker.house().room()).matches("^[a-zA-Z ]+$"); + } +} diff --git a/src/test/java/net/datafaker/integration/FakerIT.java b/src/test/java/net/datafaker/integration/FakerIT.java index 451b095ab..9f35563ee 100644 --- a/src/test/java/net/datafaker/integration/FakerIT.java +++ b/src/test/java/net/datafaker/integration/FakerIT.java @@ -136,6 +136,7 @@ void testAllFakerMethodsThatReturnStrings(Locale locale, Random random) throws E testAllMethodsThatReturnStringsActuallyReturnStrings(faker.hipster()); testAllMethodsThatReturnStringsActuallyReturnStrings(faker.hitchhikersGuideToTheGalaxy()); testAllMethodsThatReturnStringsActuallyReturnStrings(faker.hobbit()); + testAllMethodsThatReturnStringsActuallyReturnStrings(faker.house()); testAllMethodsThatReturnStringsActuallyReturnStrings(faker.howIMetYourMother()); testAllMethodsThatReturnStringsActuallyReturnStrings(faker.idNumber()); testAllMethodsThatReturnStringsActuallyReturnStrings(faker.internet());