### Question:
StringUtil { public static String slug(String value) { if (value == null) { return null; } return Normalizer.normalize(value.toLowerCase(), Normalizer.Form.NFD) .replaceAll("\\p{InCombiningDiacriticalMarks}|[^\\w\\s\\-/]", "") .replaceAll("[\\s\\-/]+", " ") .trim() .replaceAll("\\s", "-"); } private  StringUtil(); static String join(String separator, Iterable<?> elements); static String join(String separator, Object... elements); static String asString(final InputStream is, Charset charset); static String trailingSlash(String value); static String slug(String value);  }### Answer:
@Test(dataProvider = "slugs") public void shouldPerformSlugConversion(String value, String expected) throws Exception { assertThat(slug(value)).isEqualTo(expected); }