### Question:
EntityProperty extends BaseProperty<E> implements RelationshipProperty<E> { @Override public EntityProperty<E> alias(String alias) { ASTPath exp = PropertyUtils.createPathExp(this.getName(), alias, getExpression().getPathAliases()); return PropertyFactory.createEntity(exp.getPath(), exp, this.getType()); } protected  EntityProperty(String name, Expression expression, Class<E> type); Expression eqId(Object id); Expression inId(Collection<Object> ids); Expression inId(Object firstId, Object... moreIds); Expression neqId(Object id); Expression ninId(Collection<Object> ids); Expression ninId(Object firstId, Object... moreIds); @Override EntityProperty<E> alias(String alias); @Override EntityProperty<E> outer(); EntityProperty<E> enclosing();  }### Answer:
@Test public void alias() { assertEquals("path", property.getName()); property = property.alias("alias"); assertEquals("alias", property.getName()); assertEquals(1, property.getExpression().getPathAliases().size()); assertEquals("path.artist", property1.getName()); property1 = property1.alias("a"); assertEquals("path.a", property1.getName()); assertEquals(1, property1.getExpression().getPathAliases().size()); assertEquals("artist", property1.getExpression().getPathAliases().get("a")); }