diff --git a/README.md b/README.md index 63e4fb2bc..b182cf761 100644 --- a/README.md +++ b/README.md @@ -260,6 +260,7 @@ Providers * Twitter * University * Vehicle +* Verb * Weather * Witcher * Yoda diff --git a/src/main/java/net/datafaker/Faker.java b/src/main/java/net/datafaker/Faker.java index ba193d03f..a1950b40c 100644 --- a/src/main/java/net/datafaker/Faker.java +++ b/src/main/java/net/datafaker/Faker.java @@ -836,6 +836,10 @@ public Vehicle vehicle() { return getProvider(Vehicle.class, () -> new Vehicle(this)); } + public Verb verb() { + return getProvider(Verb.class, () -> new Verb(this)); + } + public Volleyball volleyball() { return getProvider(Volleyball.class, () -> new Volleyball(this)); } diff --git a/src/main/java/net/datafaker/Verb.java b/src/main/java/net/datafaker/Verb.java new file mode 100644 index 000000000..1a73e4881 --- /dev/null +++ b/src/main/java/net/datafaker/Verb.java @@ -0,0 +1,55 @@ +package net.datafaker; + +public class Verb { + + private final Faker faker; + + protected Verb(Faker faker) { + this.faker = faker; + } + + /** + * This method generates the base form of a random verb. + * + * @return a string of base form of a verb. + */ + public String base() { + return faker.fakeValuesService().resolve("verbs.base", this, faker); + } + + /** + * This method generates a random verb in past tense. + * + * @return a string of verb in past tense. + */ + public String past() { + return faker.fakeValuesService().resolve("verbs.past", this, faker); + } + + /** + * This method generates a random verb in past participle tense. + * + * @return a string of verb in past participle tense. + */ + public String pastParticiple() { + return faker.fakeValuesService().resolve("verbs.past_participle", this, faker); + } + + /** + * This method generates a random verb in simple present tense. + * + * @return a string of verb in simple present tense. + */ + public String simplePresent() { + return faker.fakeValuesService().resolve("verbs.simple_present", this, faker); + } + + /** + * This method generates a random verb in -ing form. + * + * @return a string of verb in -ing form. + */ + public String ingForm() { + return faker.fakeValuesService().resolve("verbs.ing_form", 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 7b7464244..26dfb7341 100644 --- a/src/main/java/net/datafaker/service/files/EnFile.java +++ b/src/main/java/net/datafaker/service/files/EnFile.java @@ -204,7 +204,7 @@ public String getPath() { "vehicle.yml", "volleyball.yml", // "venture_bros.yml", -// "verbs.yml", + "verbs.yml", "weather.yml", "witcher.yml", "kaamelott.yml", diff --git a/src/main/resources/en/verbs.todo.yml b/src/main/resources/en/verbs.yml similarity index 100% rename from src/main/resources/en/verbs.todo.yml rename to src/main/resources/en/verbs.yml diff --git a/src/test/java/net/datafaker/VerbTest.java b/src/test/java/net/datafaker/VerbTest.java new file mode 100644 index 000000000..761d9b68a --- /dev/null +++ b/src/test/java/net/datafaker/VerbTest.java @@ -0,0 +1,33 @@ +package net.datafaker; + +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +class VerbTest extends AbstractFakerTest { + + @Test + void testBase() { + assertThat(faker.verb().base()).matches("\\w+"); + } + + @Test + void testPast() { + assertThat(faker.verb().past()).matches("\\w+"); + } + + @Test + void testPastParticiple() { + assertThat(faker.verb().pastParticiple()).matches("\\w+"); + } + + @Test + void testSimplePresent() { + assertThat(faker.verb().simplePresent()).matches("\\w+"); + } + + @Test + void testIngForm() { + assertThat(faker.verb().ingForm()).matches("\\w+"); + } +} diff --git a/src/test/java/net/datafaker/integration/FakerIT.java b/src/test/java/net/datafaker/integration/FakerIT.java index 9f35563ee..08e003315 100644 --- a/src/test/java/net/datafaker/integration/FakerIT.java +++ b/src/test/java/net/datafaker/integration/FakerIT.java @@ -184,6 +184,7 @@ void testAllFakerMethodsThatReturnStrings(Locale locale, Random random) throws E testAllMethodsThatReturnStringsActuallyReturnStrings(faker.twinPeaks()); testAllMethodsThatReturnStringsActuallyReturnStrings(faker.university()); testAllMethodsThatReturnStringsActuallyReturnStrings(faker.vehicle()); + testAllMethodsThatReturnStringsActuallyReturnStrings(faker.verb()); testAllMethodsThatReturnStringsActuallyReturnStrings(faker.weather()); testAllMethodsThatReturnStringsActuallyReturnStrings(faker.witcher()); testAllMethodsThatReturnStringsActuallyReturnStrings(faker.yoda());