private void attemptLacking(String param, boolean isArray) throws IOException {
        BufferedReader in = new BufferedReader(new FileReader(new File(PATH + "defaultvalues.txt")));
        StringBuilder config = new StringBuilder();
        String line;
        while ((line = in.readLine()) != null) {
            if ((line.length() > param.length()) &&
                    param.equals(line.substring(0, param.length())) &&
                    (line.charAt(param.length()) == ' ' || line.charAt(param.length()) == '[')) {
                // Ignore values matched
            } else {
                config.append(line).append("\n");
            }
        }
        //System.out.println("Config lacking " + param + "-> " + config + "\n");
        try {
            ConfigGetter<FunctionTestConfig> getter = new ConfigGetter<>(FunctionTestConfig.class);
            getter.getConfig("raw:\n" + config);
            if (isArray) {
                // Arrays are empty by default
                return;
            }
            fail("Expected to fail when not specifying value " + param + " without default");
        } catch (IllegalArgumentException expected) {
            if (isArray) {
                fail("Arrays should be empty by default.");
            }
        }
    }
Test most data types and features of the config client API,
e.g. parameter access, missing default values, and more.
<p/>
NOTE: this test does NOT test null default values.

@author gjoranv
config/src/test/java/com/yahoo/config/subscription/FunctionTest.java