### Question:
JMSMessagePropertySupport { public static void checkIdentifierLetterAndDigitRequirements(String identifier) { char startChar = identifier.charAt(0); if (!(Character.isJavaIdentifierStart(startChar))) { throw new IllegalArgumentException("Identifier does not begin with a valid JMS identifier start character: '" + identifier + "' "); } int length = identifier.length(); for (int i = 1; i < length; i++) { char ch = identifier.charAt(i); if (!(Character.isJavaIdentifierPart(ch))) { throw new IllegalArgumentException("Identifier contains invalid JMS identifier character '" + ch + "': '" + identifier + "' "); } } }  @SuppressWarnings("unchecked") static T convertPropertyTo(String name, Object value, Class<T> target); static void checkPropertyNameIsValid(String propertyName, boolean validateNames); static void checkIdentifierIsntLogicOperator(String identifier); static void checkIdentifierIsntNullTrueFalse(String identifier); static void checkIdentifierLetterAndDigitRequirements(String identifier); static void checkValidObject(Object value);  }### Answer:
@Test public void testCheckIdentifierLetterAndDigitRequirementsValid() throws JMSException { JMSMessagePropertySupport.checkIdentifierLetterAndDigitRequirements("test"); }
@Test(expected = IllegalArgumentException.class) public void testCheckIdentifierLetterAndDigitRequirementsStartWithNumber() throws JMSException { JMSMessagePropertySupport.checkIdentifierLetterAndDigitRequirements("1"); }
@Test(expected = IllegalArgumentException.class) public void testCheckIdentifierLetterAndDigitRequirementsContainsColon() throws JMSException { JMSMessagePropertySupport.checkIdentifierLetterAndDigitRequirements("a:b"); }
@Test(expected = IllegalArgumentException.class) public void testCheckIdentifierLetterAndDigitRequirementsContainsEndWithColon() throws JMSException { JMSMessagePropertySupport.checkIdentifierLetterAndDigitRequirements("a:b"); }