Skip to content

Commit

Permalink
Merge pull request #272 from datafaker-net/better_locales
Browse files Browse the repository at this point in the history
Better usage of java.util.Locale. See #266
  • Loading branch information
bodiam committed Aug 2, 2022
2 parents 5c40b17 + 2dfd67b commit c02d418
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 16 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -317,7 +317,7 @@ Faker faker = new Faker(new Locale("YOUR_LOCALE"));
For example:

```java
new Faker(new Locale("en-us")).address().zipCodeByState("CA"));
new Faker(new Locale("en", "US")).address().zipCodeByState("CA"));
```

Supported Locales
Expand Down
18 changes: 9 additions & 9 deletions src/test/java/net/datafaker/AddressTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@
class AddressTest extends AbstractFakerTest {

private final char decimalSeparator = new DecimalFormatSymbols(faker.getLocale()).getDecimalSeparator();
private static final Faker US_FAKER = new Faker(new Locale("en-us"));
private static final Faker NL_FAKER = new Faker(new Locale("nl-nl"));
private static final Faker RU_FAKER = new Faker(new Locale("ru-ru"));
private static final Faker US_FAKER = new Faker(new Locale("en", "US"));
private static final Faker NL_FAKER = new Faker(new Locale("nl" ,"NL"));
private static final Faker RU_FAKER = new Faker(new Locale("ru", "RU"));

public static final Condition<String> IS_A_NUMBER = new Condition<>(s -> {
try {
Expand Down Expand Up @@ -147,7 +147,7 @@ void testFullAddress() {

@Test
void testZipCodeByState() {
final Faker localFaker = new Faker(new Locale("en-US"));
final Faker localFaker = new Faker(new Locale("en", "US"));
assertThat(localFaker.address().zipCodeByState(localFaker.address().stateAbbr())).matches("[0-9]{5}");
}

Expand All @@ -159,15 +159,15 @@ void testHungarianZipCodeByState() {

@Test
void testCountyByZipCode() {
final Faker localFaker = new Faker(new Locale("en-US"));
final Faker localFaker = new Faker(new Locale("en", "US"));
assertThat(localFaker.address().countyByZipCode("47732")).isNotEmpty();
}

@ParameterizedTest
@NullSource
@ValueSource(strings = {"1", "asd", "qwe", "wrong"})
void testCountyForWrongZipCode(String zipCode) {
final Faker localFaker = new Faker(new Locale("en-US"));
final Faker localFaker = new Faker(new Locale("en", "US"));
assertThatThrownBy(() -> localFaker.address().countyByZipCode(zipCode))
.isInstanceOf(RuntimeException.class)
.hasMessage("County are not configured for postcode " + zipCode);
Expand Down Expand Up @@ -200,19 +200,19 @@ void testMailbox() {

@Test
void testZipIsFiveChars() {
final Faker localFaker = new Faker(new Locale("en-us"));
final Faker localFaker = new Faker(new Locale("en", "US"));
assertThat(localFaker.address().zipCode()).hasSize(5);
}

@Test
void testZipPlus4IsTenChars() {
final Faker localFaker = new Faker(new Locale("en-us"));
final Faker localFaker = new Faker(new Locale("en", "US"));
assertThat(localFaker.address().zipCodePlus4()).hasSize(10); // includes dash
}

@Test
void testZipPlus4IsNineDigits() {
final Faker localFaker = new Faker(new Locale("en-us"));
final Faker localFaker = new Faker(new Locale("en", "US"));
final String[] zipCodeParts = localFaker.address().zipCodePlus4().split("-");
assertThat(zipCodeParts[0]).matches("[0-9]{5}");
assertThat(zipCodeParts[1]).matches("[0-9]{4}");
Expand Down
3 changes: 1 addition & 2 deletions src/test/java/net/datafaker/TeamTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,9 @@ void testState() {
assertThat(faker.team().state()).matches("(\\w+( )?){1,2}");
}


@Test
void testStateWithZaLocale() {
Faker zaFaker = new Faker(new Locale("en-ZA"));
Faker zaFaker = new Faker(new Locale("en", "ZA"));
assertThat(zaFaker.team().state()).isNotEmpty();
}

Expand Down
4 changes: 2 additions & 2 deletions src/test/java/net/datafaker/idnumbers/EnZAIdNumberTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,15 @@ void testExistSsn() {
@RepeatedTest(100)
void testFakerSsn() {
EnZAIdNumber idNumber = new EnZAIdNumber();
final Faker f = new Faker(new Locale("en-ZA"));
final Faker f = new Faker(new Locale("en", "ZA"));

assertThat(idNumber.validSsn(f.idNumber().valid())).isTrue();
assertThat(idNumber.validSsn(f.idNumber().invalid())).isFalse();
}

@RepeatedTest(100)
void testSsnFormat() {
final Faker f = new Faker(new Locale("en-ZA"));
final Faker f = new Faker(new Locale("en", "ZA"));
assertThat(f.idNumber().valid()).matches("\\d{10}[01][8]\\d");
assertThat(f.idNumber().invalid()).matches("\\d{10}[01][8]\\d");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ class Issue194SlashFormatRegexTest {

@Test
void enGBZipCodeReturnsProperRegexifiedValue() {
final Locale uk = new Locale("en-GB");
final Locale uk = new Locale("en", "GB");

final String postalCode = new Faker(uk).address().zipCode();

Expand All @@ -20,7 +20,7 @@ void enGBZipCodeReturnsProperRegexifiedValue() {

@Test
void enCAZipCodeReturnsProperRegexifiedValue() {
final Locale uk = new Locale("en-CA");
final Locale uk = new Locale("en", "CA");

final String postalCode = new Faker(uk).address().zipCode();

Expand Down

0 comments on commit c02d418

Please sign in to comment.