### Question:
PropertiesHolder implements IHasProperties { @Override public Map<String, Object> getProperties() { return properties; } PropertiesHolder(); @Override Object getProperty( String key ); String getPropertyAsString( String key ); @Override void setProperty( String key, Object value ); @Override Object removeProperty( String key ); @Override Set<String> getPropertyKeys(); @Override Map<String, Object> getProperties(); @Override void setProperties( Map<String, Object> props ); @Override void removeProperties( Set<String> keys ); @Override void clearProperties(); @Override boolean containsKey( String key ); @Override boolean isDirty(); @Override void setDirty( boolean dirty ); @Override String toString();  }### Answer:
@Test public void testGetProperties() throws Exception { Map<String, Object> getProps = props.getProperties(); assertNotNull( getProps ); assertTrue( getProps.isEmpty() ); props.setProperty( "a", "hello" ); props.setProperty( "b", "world!" ); getProps = props.getProperties(); assertNotNull( getProps ); assertFalse( getProps.isEmpty() ); assertEquals( getProps.size(), 2 ); assertTrue( getProps.containsKey( "a" ) ); assertTrue( getProps.containsKey( "b" ) ); assertTrue( getProps.containsValue( "hello" ) ); assertTrue( getProps.containsValue( "world!" ) ); }