### Question:
TypeSafeConfigConfigSource extends EnabledConfigSource { @Override public String getValue(String key) { try { log.log(Level.FINE, "load {0} from typesafe config", key); return config.getString(key); } catch (ConfigException ex) { log.log(Level.WARNING, "Config key '{0}' could not be retrieved due to ConfigException with " + "message '{1}'. To see stack trace enable trace logging", new String[]{key, ex.getMessage()}); log.log(Level.FINER, "ConfigException stack trace", ex); return null; } } TypeSafeConfigConfigSource();  TypeSafeConfigConfigSource(Config config); @Override Set<String> getPropertyNames(); @Override Map<String, String> getPropertiesIfEnabled(); @Override String getValue(String key); @Override String getName();  }### Answer:
@Test void testGetValue_null() { assertNull(configSource.getValue("thisKeyDoestNotExist")); }
@Test void testGetValue() { assertEquals("hello", configSource.getValue("test")); }
@Test void testGetValue_exception() { assertNull(configSource.getValue("config_object")); }