static void validate(String name) { validate(name, new InternalRegionArguments()); }
@Test public void endingMatchingCharactersAreOk() { for (char character = 0; character < MAX_VALUE; character++) { String name = "ValidRegion" + character; Matcher matcher = getNamePattern().matcher(name); if (matcher.matches()) { validate(name); } } }
@Test public void containingHyphenIsOk() { validate("valid-regionName"); }
@Test public void startingWithMatchingCharactersAreOk() { for (char character = 0; character < MAX_VALUE; character++) { String name = character + "ValidRegion"; Matcher matcher = getNamePattern().matcher(name); if (matcher.matches()) { validate(name); } } }
@Test public void containingDoubleHyphenIsOk() { validate("valid--regionName"); }
@Test public void containingMatchingCharactersAreOk() { for (char character = 0; character < MAX_VALUE; character++) { String name = "Valid" + character + "Region"; Matcher matcher = getNamePattern().matcher(name); if (matcher.matches()) { validate(name); } } }
@Test public void containingUnderscoreIsOk() { validate("valid_regionName"); }
@Test public void endingWithNonMatchingCharactersThrow() { for (char character = 0; character < MAX_VALUE; character++) { String name = "InvalidRegion" + character; Matcher matcher = getNamePattern().matcher(name); if (!matcher.matches()) { assertThatThrownBy(() -> validate(name)).isInstanceOf(IllegalArgumentException.class); } } } }
@Test public void containingMultipleUnderscoresIsOk() { validate("valid_region_name"); }
@Test public void startingWithNonMatchingCharactersThrow() { for (char character = 0; character < MAX_VALUE; character++) { String name = character + "InvalidRegion"; Matcher matcher = getNamePattern().matcher(name); if (!matcher.matches()) { assertThatThrownBy(() -> validate(name)).isInstanceOf(IllegalArgumentException.class); } } }
@Test public void endingWithDoubleHyphenIsOk() { validate("validRegionName--"); }
@Test public void containingNonMatchingCharactersThrow() { for (char character = 0; character < MAX_VALUE; character++) { String name = "Invalid" + character + "Region"; Matcher matcher = getNamePattern().matcher(name); if (!matcher.matches()) { assertThatThrownBy(() -> validate(name)).isInstanceOf(IllegalArgumentException.class); } } }
@Test public void startingWithHyphenIsOk() { validate("-validRegionName"); }
@Test public void endingWithHyphenIsOk() { validate("validRegionName-"); }
@Test public void startingWithUnderscoreIsOk() { validate("_validRegionName"); }
@Test public void endingWithUnderscoreIsOk() { validate("validRegionName_"); }
@Test public void containingDoubleUnderscoreIsOk() { validate("valid__regionName"); }
@Test public void endingWithDoubleUnderscoreIsOk() { validate("validRegionName__"); }
@Test public void startingWithDoubleHyphenIsOk() { validate("--validRegionName"); }
@Test public void startingWithSeparatorThrows() { assertThatThrownBy(() -> validate(SEPARATOR + "foo")) .isInstanceOf(IllegalArgumentException.class) .hasMessageContaining(String.format("name cannot contain the separator ' %s '", SEPARATOR)); }