private EdmEntityContainer edmEntityContainer;
@Before
public void getEdmEntityContainerImpl() throws Exception {
EdmProvider edmProvider = mock(EdmProvider.class);
EdmImplProv edmImplProv = new EdmImplProv(edmProvider);
String containerParentName = "ContainerParent";
String containerName = "Container";
List<Schema> schemas = new ArrayList<Schema>();
Schema mockedSchema = mock(Schema.class);
List<EntityContainer> entityContainers = new ArrayList<EntityContainer>();
List<EntitySet> entitySetsParent = new ArrayList<EntitySet>();
EntityContainer parentEntityContainer = new EntityContainer()
.setName(containerParentName)
.setEntitySets(entitySetsParent);
EntityContainer entityContainer = mock(EntityContainer.class);
when(entityContainer.getName()).thenReturn(containerName);
when(entityContainer.getExtendz()).thenReturn(containerParentName);
entityContainers.add(entityContainer);
entityContainers.add(parentEntityContainer);
when(mockedSchema.getEntityContainers()).thenReturn(entityContainers);
schemas.add(mockedSchema);
when(edmProvider.getSchemas()).thenReturn(schemas);
List<AssociationSet> associationSets = new ArrayList<AssociationSet>();
when(entityContainer.getAssociationSets()).thenReturn(associationSets);
List<EntitySet> entitySets = new ArrayList<EntitySet>();
when(entityContainer.getEntitySets()).thenReturn(entitySets);
when(edmProvider.getEntityContainerInfo(containerParentName))
.thenReturn(new EntityContainerInfo().setName(containerParentName));
EntityContainerInfo entityContainerInfo =
new EntityContainerInfo().setName(containerName).setExtendz(containerParentName);
EntitySet entitySetFooFromParent = new EntitySet().setName("fooFromParent");
entitySetsParent.add(entitySetFooFromParent);
when(edmProvider.getEntitySet(containerParentName, "fooFromParent")).thenReturn(entitySetFooFromParent);
EntitySet entitySetFoo = new EntitySet().setName("foo");
entitySets.add(entitySetFoo);
when(edmProvider.getEntitySet(containerName, "foo")).thenReturn(entitySetFoo);
EntitySet entitySetBar = new EntitySet().setName("bar");
entitySets.add(entitySetBar);
when(edmProvider.getEntitySet(containerName, "bar")).thenReturn(entitySetBar);
AssociationSet associationSet = new AssociationSet().setName("4711");
FullQualifiedName assocFQName = new FullQualifiedName("AssocNs", "AssocName");
associationSets.add(associationSet);
when(edmProvider.getAssociationSet(containerName, assocFQName, "foo", "fromRole")).thenReturn(associationSet);
AssociationSet parentAssociationSet = new AssociationSet().setName("42");
FullQualifiedName parentAssocFQName = new FullQualifiedName("AssocNs", "AssocNameParent");
when(edmProvider.getAssociationSet(containerParentName,
parentAssocFQName, "fooFromParent", "fromParentRole")).thenReturn(parentAssociationSet);
parentEntityContainer.setAssociationSets(Arrays.asList(parentAssociationSet));
FunctionImport functionImportFoo = new FunctionImport().setName("foo");
when(edmProvider.getFunctionImport(containerName, "foo")).thenReturn(functionImportFoo);
FunctionImport functionImportBar = new FunctionImport().setName("foo");
when(edmProvider.getFunctionImport(containerName, "foo")).thenReturn(functionImportBar);
edmEntityContainer = new EdmEntityContainerImplProv(edmImplProv, entityContainerInfo);
}