### Question:
ConfigValueMapView extends AbstractMap<String, String> { @Override public String get(final Object key) { final ConfigValue configValue = delegate.get(key); return configValue != null ? configValue.getValue() : null; } ConfigValueMapView(final Map<String, ConfigValue> delegate); @Override int size(); @Override boolean isEmpty(); @Override boolean containsKey(final Object key); @Override boolean containsValue(final Object value); @Override String get(final Object key); @Override Set<String> keySet(); @Override Set<Map.Entry<String, String>> entrySet(); @Override Collection<String> values();  }### Answer:
@Test public void get() { final Map<String, String> map = sampleMap(); assertEquals("1234", map.get("my.prop")); assertNull(map.get("my.null.value")); assertNull(map.get("my.null")); }
@Test public void configSourceMap() throws IOException { final ConfigValuePropertiesConfigSource configSource = new ConfigValuePropertiesConfigSource( ConfigValueMapViewTest.class.getResource("/config-values.properties")); final Map<String, String> properties = configSource.getProperties(); assertEquals("abc", properties.get("my.prop")); assertEquals("abc", properties.get("my.prop")); assertThrows(UnsupportedOperationException.class, () -> properties.remove("x")); assertThrows(UnsupportedOperationException.class, () -> properties.put("x", "x")); assertThrows(UnsupportedOperationException.class, () -> properties.putAll(new HashMap<>())); assertThrows(UnsupportedOperationException.class, properties::clear); }