Author: pkluegl
Date: Tue Aug 25 08:34:46 2015
New Revision: 1697603

URL: http://svn.apache.org/r1697603
Log:
UIMA-4568
- added test without uimaFIT

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=1697603&r1=1697602&r2=1697603&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 08:34:46 2015
@@ -21,29 +21,62 @@ package org.apache.uima.ruta.engine;
 import static org.apache.uima.fit.factory.AnalysisEngineFactory.createEngine;
 
 import java.io.IOException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collection;
 
+import org.apache.uima.UIMAFramework;
 import org.apache.uima.analysis_engine.AnalysisEngine;
+import org.apache.uima.analysis_engine.AnalysisEngineDescription;
 import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
 import org.apache.uima.cas.CAS;
+import org.apache.uima.resource.ResourceConfigurationException;
 import org.apache.uima.resource.ResourceInitializationException;
+import org.apache.uima.resource.ResourceSpecifier;
+import org.apache.uima.resource.metadata.TypeSystemDescription;
+import org.apache.uima.util.CasCreationUtils;
 import org.apache.uima.util.InvalidXMLException;
+import org.apache.uima.util.XMLInputSource;
 import org.junit.Test;
 
 public class StackedScriptsTest {
 
   private static final String DOC_TEXT = "This is a simple test.";
+
   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 test() throws ResourceInitializationException, 
InvalidXMLException, IOException, AnalysisEngineProcessException {
-    String rules1 = "CW{->T1};";
-    String rules2 = "T1 W{->T2} W{->T3};";
-    String rules3 = "W{PARTOF({T1,T2,T3})->T4};";
+  public void testWithUimaFit() throws ResourceInitializationException, 
InvalidXMLException,
+          IOException, AnalysisEngineProcessException, 
ResourceConfigurationException {
 
     AnalysisEngine rutaAE1 = createEngine(RutaEngine.class, 
RutaEngine.PARAM_RULES, rules1);
     AnalysisEngine rutaAE2 = createEngine(RutaEngine.class, 
RutaEngine.PARAM_RULES, rules2);
     AnalysisEngine rutaAE3 = createEngine(RutaEngine.class, 
RutaEngine.PARAM_RULES, rules3);
 
+    processAndTest(rutaAE1, rutaAE2, rutaAE3);
+
+  }
+
+  @Test
+  public void testWithoutUimaFit() throws ResourceInitializationException, 
InvalidXMLException,
+          IOException, AnalysisEngineProcessException, 
ResourceConfigurationException {
+    
+    AnalysisEngine rutaAE1 = createAnalysisEngine(rules1);
+    AnalysisEngine rutaAE2 = createAnalysisEngine(rules2);
+    AnalysisEngine rutaAE3 = createAnalysisEngine(rules3);
+
+    processAndTest(rutaAE1, rutaAE2, rutaAE3);
+
+  }
+
+  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);
@@ -54,13 +87,37 @@ public class StackedScriptsTest {
     rutaAE1.process(cas);
     rutaAE2.process(cas);
     rutaAE3.process(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 AnalysisEngine createAnalysisEngine(String rules) throws IOException,
+          InvalidXMLException, ResourceInitializationException, 
ResourceConfigurationException {
+    URL url = RutaEngine.class.getClassLoader().getResource("BasicEngine.xml");
+    if (url == null) {
+      url = 
RutaTestUtils.class.getClassLoader().getResource("org/apache/uima/ruta/TestEngine.xml");
+    }
+    XMLInputSource in = new XMLInputSource(url);
+    ResourceSpecifier specifier = 
UIMAFramework.getXMLParser().parseResourceSpecifier(in);
+    AnalysisEngineDescription aed = (AnalysisEngineDescription) specifier;
+
+    TypeSystemDescription basicTypeSystem = 
aed.getAnalysisEngineMetaData().getTypeSystem();
+    for (int i = 1; i <= 50; i++) {
+      basicTypeSystem.addType(RutaTestUtils.TYPE + i, "Type for Testing", 
"uima.tcas.Annotation");
+    }
+    Collection<TypeSystemDescription> tsds = new 
ArrayList<TypeSystemDescription>();
+    tsds.add(basicTypeSystem);
+    TypeSystemDescription mergeTypeSystems = 
CasCreationUtils.mergeTypeSystems(tsds);
+    aed.getAnalysisEngineMetaData().setTypeSystem(mergeTypeSystems);
+    AnalysisEngine ae = UIMAFramework.produceAnalysisEngine(aed);
+
+    ae.setConfigParameterValue(RutaEngine.PARAM_RULES, rules);
+    ae.reconfigure();
+    return ae;
+
+  }
 
 }


Reply via email to