}
@Test
public void testPropertiesWithEdm() {
try {
EdmEntityType edmEtAllTypes = edmInfo.getTypeEtAllTypes();
EdmProperty string = (EdmProperty) edmEtAllTypes.getProperty("String");
EdmSimpleType stringType = (EdmSimpleType) string.getType();
EdmComplexPropertyImplProv complex = (EdmComplexPropertyImplProv) edmEtAllTypes.getProperty("Complex");
EdmComplexType complexType = (EdmComplexType) complex.getType();
EdmProperty complexString = (EdmProperty) complexType.getProperty("String");
EdmSimpleType complexStringType = (EdmSimpleType) complexString.getType();
EdmComplexPropertyImplProv complexAddress = (EdmComplexPropertyImplProv) complexType.getProperty("Address");
EdmComplexType complexAddressType = (EdmComplexType) complexAddress.getType();
EdmProperty complexAddressCity = (EdmProperty) complexAddressType.getProperty("City");
EdmSimpleType complexAddressCityType = (EdmSimpleType) complexAddressCity.getType();
GetPTF(edmEtAllTypes, "String").aEdmProperty(string).aEdmType(stringType);
GetPTF(edmEtAllTypes, "'text' eq String").root().aKind(ExpressionKind.BINARY);
GetPTF(edmEtAllTypes, "Complex/String").root().left().aEdmProperty(complex).aEdmType(complexType).root().right()
.aEdmProperty(complexString).aEdmType(complexStringType).root().aKind(ExpressionKind.MEMBER).aEdmType(
complexStringType);
GetPTF(edmEtAllTypes, "Complex/Address/City").root().aKind(ExpressionKind.MEMBER).root().left().aKind(
ExpressionKind.MEMBER).root().left().left().aKind(ExpressionKind.PROPERTY).aEdmProperty(complex).aEdmType(
complexType).root().left().right().aKind(ExpressionKind.PROPERTY).aEdmProperty(complexAddress).aEdmType(
complexAddressType).root().left().aEdmType(complexAddressType).root().right().aKind(ExpressionKind.PROPERTY)
.aEdmProperty(complexAddressCity).aEdmType(complexAddressCityType).root().aEdmType(complexAddressCityType);
EdmProperty boolean_ = (EdmProperty) edmEtAllTypes.getProperty("Boolean");
EdmSimpleType boolean_Type = (EdmSimpleType) boolean_.getType();
GetPTF(edmEtAllTypes, "not Boolean").aKind(ExpressionKind.UNARY).aEdmType(boolean_Type).right().aEdmProperty(
boolean_).aEdmType(boolean_Type);