### Question:
ConfigurablePropertiesModule extends AbstractModule { static String getOverridablePropertyValue(String propertyKey, Properties properties) { if (System.getProperty(propertyKey) != null) { return System.getProperty(propertyKey); } else if (properties.get(propertyKey) != null) { return properties.getProperty(propertyKey); } else { return ""; } } ConfigurablePropertiesModule();   }### Answer:
@Test public void testGetOverridablePropertyValue() throws Exception { final String propertyName = "dummyKey"; Properties properties = new Properties(); String value = ConfigurablePropertiesModule.getOverridablePropertyValue(propertyName, properties); Assert.assertEquals("", value); System.setProperty(propertyName, "systemValue"); properties.setProperty(propertyName, "propertiesValue"); value = ConfigurablePropertiesModule.getOverridablePropertyValue(propertyName, properties); Assert.assertEquals("systemValue", value); System.clearProperty(propertyName); value = ConfigurablePropertiesModule.getOverridablePropertyValue(propertyName, properties); Assert.assertEquals("propertiesValue", value); properties.remove(propertyName); value = ConfigurablePropertiesModule.getOverridablePropertyValue(propertyName, properties); Assert.assertEquals("", value); }