### Question:
PropertyParser { public char parseChar(String name) { String property = getProperties().getProperty(name); if (property.length() != 1) { throw new IllegalArgumentException(name + " property is't char"); } return property.charAt(0); } PropertyParser(Properties properties); Properties getProperties(); void setProperties(Properties properties); String parseString(String name); int parseInt(String name); boolean parseBoolean(String name); float parseFloat(String name); double parseDouble(String name); long parseLong(String name); char parseChar(String name); String toString(String name); int toInt(String name); boolean toBoolean(String name); float toFloat(String name); double toDouble(String name); long toLong(String name); char toChar(String name); String toString(String name, String defaultValue); int toInt(String name, int defaultValue); boolean toBoolean(String name, boolean defaultValue); float toFloat(String name, float defaultValue); double toDouble(String name, double defaultValue); long toLong(String name, long defaultValue); char toChar(String name, char defaultValue);  }### Answer:
@Test public void testParseChar() { System.out.println("parseChar"); char expResult; char result; Properties props = new Properties(); props.put("value1", "b"); props.put("value2", "c"); props.put("empty", ""); props.put("str", "abc"); props.put("boolean", "true"); props.put("float", "24.98"); props.put("int", "12"); props.put("char", "a"); PropertyParser instance = new PropertyParser(props); expResult = 'b'; result = instance.parseChar("value1"); assertEquals(expResult, result); expResult = 'c'; result = instance.parseChar("value2"); assertEquals(expResult, result); try { instance.parseChar("empty"); } catch (IllegalArgumentException e) { } try { instance.parseChar("str"); } catch (IllegalArgumentException e) { } try { instance.parseChar("boolean"); } catch (IllegalArgumentException e) { } try { instance.parseChar("float"); } catch (IllegalArgumentException e) { } try { instance.parseChar("int"); } catch (IllegalArgumentException e) { } expResult = 'a'; result = instance.parseChar("char"); assertEquals(expResult, result); try { instance.parseChar("nonexistent"); fail("no exception"); assertEquals(expResult, result); } catch (NullPointerException e) { } }