@Test public void testNormalizeUpper() throws Exception { filter.setNormalize(new CaseNormalizer(Case.UPPER, Locale.ENGLISH)); assertThat(filter.getLegalValues(), containsInAnyOrder("FOO", "BAR", "BAZ")); for (String test : Arrays.asList("foo", "Bar", "BAZ")) { assertThat(filter.applies(test), is(true)); assertThat(filter.apply(test), equalTo(test.toUpperCase(Locale.ENGLISH))); } for (String test : Arrays.asList("Foo", "FOO", "BaR", "bar", "BAR", "BAz", "baz")) { assertThat(filter.applies(test), is(true)); assertThat(filter.apply(test), equalTo(test.toUpperCase(Locale.ENGLISH))); } for (String test : Arrays.asList("fooo", "fo", "Ba", "BBarr", "BA", "BBAZ")) { assertThat(filter.applies(test), is(false)); try { filter.apply(test); fail(); } catch (Exception ex) { assertThat(ex, instanceOf(ParameterException.class)); } } assertThat(filter.apply(null), equalTo("Default")); assertThat(filter.apply(""), equalTo("Default")); }
@Test public void testNormalizeLower() throws Exception { filter.setNormalize(new CaseNormalizer(Case.LOWER, Locale.ENGLISH)); assertThat(filter.getLegalValues(), containsInAnyOrder("foo", "bar", "baz")); for (String test : Arrays.asList("foo", "Bar", "BAZ")) { assertThat(filter.applies(test), is(true)); assertThat(filter.apply(test), equalTo(test.toLowerCase(Locale.ENGLISH))); } for (String test : Arrays.asList("Foo", "FOO", "BaR", "bar", "BAR", "BAz", "baz")) { assertThat(filter.applies(test), is(true)); assertThat(filter.apply(test), equalTo(test.toLowerCase(Locale.ENGLISH))); } for (String test : Arrays.asList("fooo", "fo", "Ba", "BBarr", "BA", "BBAZ")) { assertThat(filter.applies(test), is(false)); try { filter.apply(test); fail(); } catch (Exception ex) { assertThat(ex, instanceOf(ParameterException.class)); } } assertThat(filter.apply(null), equalTo("Default")); assertThat(filter.apply(""), equalTo("Default")); }
@Test public void testNormalizeLocale() throws Exception { filter.setValues(Arrays.asList("f\u0131o", "B\u0131r", "BIZ")); filter.setNormalize(new CaseNormalizer(Case.LOWER, Locale.forLanguageTag("tr"))); assertThat(filter.getLegalValues(), containsInAnyOrder("f\u0131o", "b\u0131r", "b\u0131z")); for (String test : Arrays.asList("f\u0131o", "B\u0131r", "BIZ")) { assertThat(filter.applies(test), is(true)); assertThat(filter.apply(test), equalTo(test.toLowerCase(Locale.forLanguageTag("tr")))); } for (String test : Arrays.asList( "F\u0131o", "FIO", "B\u0131R", "b\u0131r", "BIR", "BIz", "b\u0131z")) { assertThat(filter.applies(test), is(true)); assertThat(filter.apply(test), equalTo(test.toLowerCase(Locale.forLanguageTag("tr")))); } for (String test : Arrays.asList("f\u0131oo", "f\u0131", "B\u0131", "BB\u0131rr", "BI", "BBIZ")) { assertThat(filter.applies(test), is(false)); try { filter.apply(test); fail(); } catch (Exception ex) { assertThat(ex, instanceOf(ParameterException.class)); } } assertThat(filter.apply(null), equalTo("Default")); assertThat(filter.apply(""), equalTo("Default")); }