when(employeeEntryDateFacets.isNullable()).thenReturn(Boolean.TRUE);
when(employeeEntryDateProperty.getFacets()).thenReturn(employeeEntryDateFacets);
createProperty("ImageUrl", EdmSimpleTypeKind.String, employeeType);
final EdmComplexType locationComplexType = mock(EdmComplexType.class);
when(locationComplexType.getKind()).thenReturn(EdmTypeKind.COMPLEX);
when(locationComplexType.getName()).thenReturn("c_Location");
when(locationComplexType.getNamespace()).thenReturn("RefScenario");
when(locationComplexType.getPropertyNames()).thenReturn(Arrays.asList("City", "Country"));
final EdmProperty locationComplexProperty = mock(EdmProperty.class);
when(locationComplexProperty.getType()).thenReturn(locationComplexType);
when(locationComplexProperty.getName()).thenReturn("Location");
when(employeeType.getProperty("Location")).thenReturn(locationComplexProperty);
createProperty("Country", EdmSimpleTypeKind.String, locationComplexType);
final EdmComplexType cityComplexType = mock(EdmComplexType.class);
when(cityComplexType.getKind()).thenReturn(EdmTypeKind.COMPLEX);
when(cityComplexType.getName()).thenReturn("c_City");
when(cityComplexType.getNamespace()).thenReturn("RefScenario");
when(cityComplexType.getPropertyNames()).thenReturn(Arrays.asList("PostalCode", "CityName"));
EdmProperty cityProperty = mock(EdmProperty.class);
when(cityProperty.getType()).thenReturn(cityComplexType);
when(cityProperty.getName()).thenReturn("City");
when(locationComplexType.getProperty("City")).thenReturn(cityProperty);