### Question:
PropertyParser { public double parseDouble(String name) { return Double.parseDouble(getProperties().getProperty(name)); } 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 testParseDouble() { System.out.println("parseDouble"); double expResult; double result; Properties props = new Properties(); props.put("value1", "12345.6789"); props.put("value2", "-9000.001"); 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 = 12345.6789; result = instance.parseDouble("value1"); assertEquals(expResult, result, 0); expResult = -9000.001; result = instance.parseDouble("value2"); assertEquals(expResult, result, 0); try { instance.parseDouble("empty"); fail("no exception"); } catch (IllegalArgumentException e) { } try { instance.parseDouble("str"); fail("no exception"); } catch (IllegalArgumentException e) { } try { instance.parseDouble("boolean"); fail("no exception"); } catch (IllegalArgumentException e) { } expResult = 24.98; result = instance.parseDouble("float"); assertEquals(expResult, result, 0); expResult = 12; result = instance.parseDouble("int"); assertEquals(expResult, result, 0); try { instance.parseDouble("char"); fail("no exception"); } catch (IllegalArgumentException e) { } try { instance.parseDouble("nonexistent"); fail("no exception"); } catch (NullPointerException e) { } }