LazyEntity extends Entity { @Override public LazyProperties getProperties() { return lazyProperties; } LazyEntity(final Entity entity, final ElementValueLoader valueLoader); protected  LazyEntity(final Entity entity, final ElementValueLoader valueLoader, final LazyProperties lazyProperties); @Override Object getProperty(final String name); @Override Object getVertex(); @Override void setVertex(final Object vertex); @Override void putProperty(final String name, final Object value); @Override String getGroup(); @Override Entity getElement(); @Override LazyProperties getProperties(); @Override boolean equals(final Object element); @Override void putIdentifier(final IdentifierType name, final Object value); @Override int hashCode();  }
@Test public void shouldGetLazyProperties() { final Entity entity = new Entity("group"); final ElementValueLoader entityLoader = mock(ElementValueLoader.class); final LazyEntity lazyEntity = new LazyEntity(entity, entityLoader); final LazyProperties result = lazyEntity.getProperties(); assertNotNull(result); assertNotSame(entity.getProperties(), result); }