File descFile = JUnitExtension
.getFile("TextAnalysisEngineImplTest/AggregateTaeForMergeTest.xml");
AnalysisEngineDescription desc = UIMAFramework.getXMLParser().parseAnalysisEngineDescription(
new XMLInputSource(descFile));
Map mergedTypes = new HashMap();
TypeSystemDescription typeSys = CasCreationUtils.mergeDelegateAnalysisEngineTypeSystems(desc,
UIMAFramework.newDefaultResourceManager(), mergedTypes);
// test results of merge
Assert.assertEquals(8, typeSys.getTypes().length);
TypeDescription type0 = typeSys.getType("NamedEntity");
Assert.assertNotNull(type0);
Assert.assertEquals("uima.tcas.Annotation", type0.getSupertypeName());
Assert.assertEquals(1, type0.getFeatures().length);
TypeDescription type1 = typeSys.getType("Person");
Assert.assertNotNull(type1);
Assert.assertEquals("NamedEntity", type1.getSupertypeName());
Assert.assertEquals(1, type1.getFeatures().length);
TypeDescription type2 = typeSys.getType("Place");
Assert.assertNotNull(type2);
Assert.assertEquals("NamedEntity", type2.getSupertypeName());
Assert.assertEquals(3, type2.getFeatures().length);
TypeDescription type3 = typeSys.getType("Org");
Assert.assertNotNull(type3);
Assert.assertEquals("uima.tcas.Annotation", type3.getSupertypeName());
Assert.assertEquals(0, type3.getFeatures().length);
TypeDescription type4 = typeSys.getType("DocumentStructure");
Assert.assertNotNull(type4);
Assert.assertEquals("uima.tcas.Annotation", type4.getSupertypeName());
Assert.assertEquals(0, type4.getFeatures().length);
TypeDescription type5 = typeSys.getType("Paragraph");
Assert.assertNotNull(type5);
Assert.assertEquals("DocumentStructure", type5.getSupertypeName());
Assert.assertEquals(0, type5.getFeatures().length);
TypeDescription type6 = typeSys.getType("Sentence");
Assert.assertNotNull(type6);
Assert.assertEquals("DocumentStructure", type6.getSupertypeName());
Assert.assertEquals(0, type6.getFeatures().length);
TypeDescription type7 = typeSys.getType("test.flowController.Test");
Assert.assertNotNull(type7);
Assert.assertEquals("uima.tcas.Annotation", type7.getSupertypeName());
Assert.assertEquals(1, type7.getFeatures().length);
// Place has merged features, Person has different supertype