From 762d963480e260e596f885805ce42cd9767e5fa1 Mon Sep 17 00:00:00 2001 From: Pascal Schumacher Date: Tue, 26 Apr 2016 21:51:36 +0200 Subject: [PATCH] =?UTF-8?q?added=20method=20to=20Options=20which=20returns?= =?UTF-8?q?=20a=20random=20value=20of=20the=20given=20enu=E2=80=A6=20(#84)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * added method to Options which returns a random value of the given enumeration * fixed BeerTest#testName regex --- src/main/java/com/github/javafaker/Options.java | 5 +++++ src/test/java/com/github/javafaker/BeerTest.java | 2 +- src/test/java/com/github/javafaker/OptionsTest.java | 9 +++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/github/javafaker/Options.java b/src/main/java/com/github/javafaker/Options.java index dd24673d..7f063e7f 100644 --- a/src/main/java/com/github/javafaker/Options.java +++ b/src/main/java/com/github/javafaker/Options.java @@ -12,4 +12,9 @@ public class Options { public String option(String... options) { return options[randomService.nextInt(options.length)]; } + + public > E option(Class enumeration) { + E[] enumConstants = enumeration.getEnumConstants(); + return enumConstants[randomService.nextInt(enumConstants.length)]; + } } \ No newline at end of file diff --git a/src/test/java/com/github/javafaker/BeerTest.java b/src/test/java/com/github/javafaker/BeerTest.java index b0463388..d4d67994 100644 --- a/src/test/java/com/github/javafaker/BeerTest.java +++ b/src/test/java/com/github/javafaker/BeerTest.java @@ -17,7 +17,7 @@ public class BeerTest { @Test public void testName() { - assertThat(faker.beer().name(), matchesRegularExpression("[A-Za-z'() 0-9-’’]+")); + assertThat(faker.beer().name(), matchesRegularExpression("[\\p{L}'()\\., 0-9-’’]+")); } @Test diff --git a/src/test/java/com/github/javafaker/OptionsTest.java b/src/test/java/com/github/javafaker/OptionsTest.java index 7e644143..83113ea6 100644 --- a/src/test/java/com/github/javafaker/OptionsTest.java +++ b/src/test/java/com/github/javafaker/OptionsTest.java @@ -26,4 +26,13 @@ public class OptionsTest { public void testOptionWithVarargs() { assertThat(faker.options().option("A", "B", "C"), isOneOf(options)); } + + @Test + public void testOptionWithEnum() { + assertThat(faker.options().option(Day.class), isOneOf(Day.values())); + } + + public enum Day { + MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY + } }