@Test
public void esMixPrimCollComp() throws Exception {

  final DataProvider dataProvider = new DataProvider(oData, edm);
  
  EntityCollection outSet = dataProvider.readAll(esMixPrimCollComp);
  Assert.assertEquals(3, outSet.getEntities().size());
  Assert.assertEquals(4, outSet.getEntities().get(0).getProperties().size());
  Property complex = outSet.getEntities().get(0).getProperties().get(2);
  Assert.assertTrue(complex.isComplex());
  Assert.assertEquals(2, complex.asComplex().getValue().size());
  Property complexCollection = outSet.getEntities().get(0).getProperties().get(3);
  Assert.assertTrue(complexCollection.isCollection());
  List<?> linkedComplexValues = complexCollection.asCollection();
  Assert.assertEquals(3, linkedComplexValues.size());
  ComplexValue linkedComplexValue = (ComplexValue) linkedComplexValues.get(0);
  Assert.assertEquals(2, linkedComplexValue.getValue().size());
  Property lcProp = linkedComplexValue.getValue().get(0);
  Assert.assertFalse(lcProp.isCollection());
  Assert.assertEquals((short) 123, lcProp.getValue());
  //
  Assert.assertEquals(4, outSet.getEntities().get(1).getProperties().size());
  Assert.assertEquals(4, outSet.getEntities().get(2).getProperties().size());
}