public double parseDouble(String name) {
        return Double.parseDouble(getProperties().getProperty(name));
    }
@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) {
        }
    }