### Question:
EncodedIdentifierValidator { public EnumSet<ValidationError> getValidationErrors(String s) { EnumSet<ValidationError> errors = EnumSet.noneOf(ValidationError.class); if (s == null) { return errors; } if (SpringFirewallValidationRules.containsColon(s)) { errors.add(ValidationError.COLON); } if (SpringFirewallValidationRules.containsBackslash(s)) { errors.add(ValidationError.BACKSLASH); } if (SpringFirewallValidationRules.containsForwardslash(s)) { errors.add(ValidationError.FORWARDSLASH); } if (SpringFirewallValidationRules.containsPercent(s)) { errors.add(ValidationError.PERCENT); } if (SpringFirewallValidationRules.containsSemicolon(s)) { errors.add(ValidationError.SEMICOLON); } if (SpringFirewallValidationRules.containsControlChars(s)) { errors.add(ValidationError.CONTROL_CHAR); } return errors; }  EnumSet<ValidationError> getValidationErrors(String s);  }### Answer:
@Test public void valid() { assertTrue(encodedIdentifierValidator.getValidationErrors("adsdsa").isEmpty()); assertTrue(encodedIdentifierValidator.getValidationErrors("a.b.c").isEmpty()); assertTrue(encodedIdentifierValidator.getValidationErrors("a-b-c").isEmpty()); assertTrue(encodedIdentifierValidator.getValidationErrors("äöå").isEmpty()); assertTrue(encodedIdentifierValidator.getValidationErrors("列").isEmpty()); }
@Test public void semiOrFullColons() { assertEquals(EnumSet.of(COLON), encodedIdentifierValidator.getValidationErrors(String.valueOf(colon))); assertEquals(EnumSet.of(SEMICOLON), encodedIdentifierValidator.getValidationErrors(String.valueOf(semiColon))); assertEquals(EnumSet.of(COLON, SEMICOLON), encodedIdentifierValidator.getValidationErrors("aaa:bbbb;cccc")); }
@Test public void slashesOrPercent() { assertEquals(EnumSet.of(FORWARDSLASH), encodedIdentifierValidator.getValidationErrors(String.valueOf(slash))); assertEquals(EnumSet.of(BACKSLASH), encodedIdentifierValidator.getValidationErrors(String.valueOf(backslash))); assertEquals(EnumSet.of(PERCENT), encodedIdentifierValidator.getValidationErrors(String.valueOf(percent))); assertEquals(EnumSet.of(FORWARDSLASH, BACKSLASH, PERCENT), encodedIdentifierValidator.getValidationErrors("aaa/./bbbb\\cc/../cc%ddd")); }
@Test public void controlChars() { assertEquals(EnumSet.of(CONTROL_CHAR), encodedIdentifierValidator.getValidationErrors(String.valueOf(tab))); assertEquals(EnumSet.of(CONTROL_CHAR), encodedIdentifierValidator.getValidationErrors(String.valueOf(newline))); assertEquals(EnumSet.of(CONTROL_CHAR), encodedIdentifierValidator.getValidationErrors(String.valueOf(cr))); assertEquals(EnumSet.of(CONTROL_CHAR), encodedIdentifierValidator.getValidationErrors(String.valueOf(esc))); assertEquals(EnumSet.of(CONTROL_CHAR), encodedIdentifierValidator.getValidationErrors(String.valueOf(sos))); assertEquals(EnumSet.noneOf(EncodedIdentifierValidator.ValidationError.class), encodedIdentifierValidator.getValidationErrors(String.valueOf(space))); }
@Test public void allErrors() { assertEquals(EnumSet.allOf(EncodedIdentifierValidator.ValidationError.class), encodedIdentifierValidator.getValidationErrors(":aa;bb/cc\\dd%ee/../f\tf")); }