Author: pkluegl Date: Tue Aug 25 09:55:01 2015 New Revision: 1697633 URL: http://svn.apache.org/r1697633 Log: UIMA-4568 - added test with a clean uimaFIT approach
Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/StackedScriptsTest.java Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/StackedScriptsTest.java URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/StackedScriptsTest.java?rev=1697633&r1=1697632&r2=1697633&view=diff ============================================================================== --- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/StackedScriptsTest.java (original) +++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/StackedScriptsTest.java Tue Aug 25 09:55:01 2015 @@ -19,6 +19,7 @@ package org.apache.uima.ruta.engine; import static org.apache.uima.fit.factory.AnalysisEngineFactory.createEngine; +import static org.apache.uima.fit.factory.AnalysisEngineFactory.createEngineDescription; import java.io.IOException; import java.net.URL; @@ -46,10 +47,11 @@ public class StackedScriptsTest { private static final int LINES = 1; String rules1 = "CW{->T1};"; + String rules2 = "T1 W{->T2} W{->T3};"; + String rules3 = "W{PARTOF({T1,T2,T3})->T4};"; - - + @Test public void testWithUimaFit() throws ResourceInitializationException, InvalidXMLException, IOException, AnalysisEngineProcessException, ResourceConfigurationException { @@ -63,9 +65,25 @@ public class StackedScriptsTest { } @Test + public void testWithUimaFitAggregated() throws ResourceInitializationException, + InvalidXMLException, IOException, AnalysisEngineProcessException, + ResourceConfigurationException { + + AnalysisEngine aae = createEngine(createEngineDescription( + createEngineDescription(RutaEngine.class, RutaEngine.PARAM_RULES, rules1), + createEngineDescription(RutaEngine.class, RutaEngine.PARAM_RULES, rules2), + createEngineDescription(RutaEngine.class, RutaEngine.PARAM_RULES, rules3))); + + CAS cas = getCAS(); + + aae.process(cas); + checkResult(cas); + } + + @Test public void testWithoutUimaFit() throws ResourceInitializationException, InvalidXMLException, IOException, AnalysisEngineProcessException, ResourceConfigurationException { - + AnalysisEngine rutaAE1 = createAnalysisEngine(rules1); AnalysisEngine rutaAE2 = createAnalysisEngine(rules2); AnalysisEngine rutaAE3 = createAnalysisEngine(rules3); @@ -77,23 +95,32 @@ public class StackedScriptsTest { private void processAndTest(AnalysisEngine rutaAE1, AnalysisEngine rutaAE2, AnalysisEngine rutaAE3) throws ResourceInitializationException, IOException, InvalidXMLException, AnalysisEngineProcessException { - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < LINES; i++) { - sb.append(DOC_TEXT); - sb.append("\n"); - } - CAS cas = RutaTestUtils.getCAS(sb.toString()); + CAS cas = getCAS(); rutaAE1.process(cas); rutaAE2.process(cas); rutaAE3.process(cas); + checkResult(cas); + } + + private void checkResult(CAS cas) { RutaTestUtils.assertAnnotationsEquals(cas, 1, 1, "This"); RutaTestUtils.assertAnnotationsEquals(cas, 2, 1, "is"); RutaTestUtils.assertAnnotationsEquals(cas, 3, 1, "a"); RutaTestUtils.assertAnnotationsEquals(cas, 4, 3, "This", "is", "a"); } + private CAS getCAS() throws ResourceInitializationException, IOException, InvalidXMLException { + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < LINES; i++) { + sb.append(DOC_TEXT); + sb.append("\n"); + } + CAS cas = RutaTestUtils.getCAS(sb.toString()); + return cas; + } + private AnalysisEngine createAnalysisEngine(String rules) throws IOException, InvalidXMLException, ResourceInitializationException, ResourceConfigurationException { URL url = RutaEngine.class.getClassLoader().getResource("BasicEngine.xml");