You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by pk...@apache.org on 2018/12/21 13:47:48 UTC

svn commit: r1849476 - /uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationVariableExpressionTest.java

Author: pkluegl
Date: Fri Dec 21 13:47:48 2018
New Revision: 1849476

URL: http://svn.apache.org/viewvc?rev=1849476&view=rev
Log:
UIMA-5663: added test

Modified:
    uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationVariableExpressionTest.java

Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationVariableExpressionTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationVariableExpressionTest.java?rev=1849476&r1=1849475&r2=1849476&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationVariableExpressionTest.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationVariableExpressionTest.java Fri Dec 21 13:47:48 2018
@@ -52,7 +52,8 @@ import org.junit.Test;
 public class AnnotationVariableExpressionTest {
 
   @Test
-  public void test() {
+  public void test() throws ResourceInitializationException, InvalidXMLException, IOException,
+          AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException {
     String document = "Some text.";
     String script = "ANNOTATION a;";
     script += "CW{-> ASSIGN(a, CW)};";
@@ -69,13 +70,8 @@ public class AnnotationVariableExpressio
     String fn = "a";
     list.add(new TestFeature(fn, "", "uima.tcas.Annotation"));
 
-    CAS cas = null;
-    try {
-      cas = RutaTestUtils.getCAS(document, typeMap, featureMap);
-      Ruta.apply(cas, script);
-    } catch (Exception e) {
-      e.printStackTrace();
-    }
+    CAS cas = RutaTestUtils.getCAS(document, typeMap, featureMap);
+    Ruta.apply(cas, script);
 
     Type t = null;
     AnnotationIndex<AnnotationFS> ai = null;
@@ -96,9 +92,11 @@ public class AnnotationVariableExpressio
     assertNotNull("Feature value is null!", a);
     assertEquals("Some", a.getCoveredText());
   }
-  
+
   @Test
-  public void testImplicitAssignment() {
+  public void testImplicitAssignment()
+          throws ResourceInitializationException, InvalidXMLException, IOException,
+          AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException {
     String document = "Some text.";
     String script = "ANNOTATION a;";
     script += "CW{-> a = CW};";
@@ -115,13 +113,8 @@ public class AnnotationVariableExpressio
     String fn = "a";
     list.add(new TestFeature(fn, "", "uima.tcas.Annotation"));
 
-    CAS cas = null;
-    try {
-      cas = RutaTestUtils.getCAS(document, typeMap, featureMap);
-      Ruta.apply(cas, script);
-    } catch (Exception e) {
-      e.printStackTrace();
-    }
+    CAS cas = RutaTestUtils.getCAS(document, typeMap, featureMap);
+    Ruta.apply(cas, script);
 
     Type t = null;
     AnnotationIndex<AnnotationFS> ai = null;
@@ -144,7 +137,9 @@ public class AnnotationVariableExpressio
   }
 
   @Test
-  public void testListImplicitAssignment() {
+  public void testListImplicitAssignment()
+          throws ResourceInitializationException, InvalidXMLException, IOException,
+          AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException {
     String document = "Some text.";
     String script = "ANNOTATIONLIST as;";
     script += "Document{-> as = W};";
@@ -161,13 +156,8 @@ public class AnnotationVariableExpressio
     String fn = "as";
     list.add(new TestFeature(fn, "", "uima.cas.FSArray"));
 
-    CAS cas = null;
-    try {
-      cas = RutaTestUtils.getCAS(document, typeMap, featureMap);
-      Ruta.apply(cas, script);
-    } catch (Exception e) {
-      e.printStackTrace();
-    }
+    CAS cas = RutaTestUtils.getCAS(document, typeMap, featureMap);
+    Ruta.apply(cas, script);
 
     Type t = null;
     AnnotationIndex<AnnotationFS> ai = null;
@@ -188,9 +178,10 @@ public class AnnotationVariableExpressio
     assertNotNull("Feature value is null!", array);
     assertEquals(2, array.size());
   }
-  
+
   @Test
-  public void testList() {
+  public void testList() throws ResourceInitializationException, InvalidXMLException, IOException,
+          AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException {
     String document = "Some text.";
     String script = "ANNOTATIONLIST as;";
     script += "Document{-> ASSIGN(as, W)};";
@@ -207,13 +198,8 @@ public class AnnotationVariableExpressio
     String fn = "as";
     list.add(new TestFeature(fn, "", "uima.cas.FSArray"));
 
-    CAS cas = null;
-    try {
-      cas = RutaTestUtils.getCAS(document, typeMap, featureMap);
-      Ruta.apply(cas, script);
-    } catch (Exception e) {
-      e.printStackTrace();
-    }
+    CAS cas = RutaTestUtils.getCAS(document, typeMap, featureMap);
+    Ruta.apply(cas, script);
 
     Type t = null;
     AnnotationIndex<AnnotationFS> ai = null;
@@ -234,12 +220,13 @@ public class AnnotationVariableExpressio
     assertNotNull("Feature value is null!", array);
     assertEquals(2, array.size());
   }
-  
-  
+
   @Test
-  public void testResetVariableBetweenCases() throws ResourceInitializationException, InvalidXMLException, IOException, AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException {
-    
-	String document = "Some text.";
+  public void testResetVariableBetweenCases()
+          throws ResourceInitializationException, InvalidXMLException, IOException,
+          AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException {
+
+    String document = "Some text.";
     String script = "ANNOTATIONLIST as;\n";
     script += "ANNOTATION a;\n";
     script += "WORDLIST wl = 'org/apache/uima/ruta/WSDictionaryTestList.txt';\n";
@@ -251,11 +238,12 @@ public class AnnotationVariableExpressio
     script += "a{-> T3};\n";
     script += "as{-> T4};";
 
-    AnalysisEngineDescription description = AnalysisEngineFactory.createEngineDescription(RutaEngine.class, RutaEngine.PARAM_RULES, script);
+    AnalysisEngineDescription description = AnalysisEngineFactory
+            .createEngineDescription(RutaEngine.class, RutaEngine.PARAM_RULES, script);
     AnalysisEngine engine = AnalysisEngineFactory.createEngine(description);
-    
-    CAS cas =  RutaTestUtils.getCAS(document);
-    
+
+    CAS cas = RutaTestUtils.getCAS(document);
+
     cas.reset();
     cas.setDocumentText(document);
     engine.process(cas);
@@ -263,7 +251,7 @@ public class AnnotationVariableExpressio
     RutaTestUtils.assertAnnotationsEquals(cas, 2, 0);
     RutaTestUtils.assertAnnotationsEquals(cas, 3, 1, "Some");
     RutaTestUtils.assertAnnotationsEquals(cas, 4, 2, "Some", "text");
-    
+
     cas.reset();
     cas.setDocumentText(document);
     engine.process(cas);
@@ -273,5 +261,29 @@ public class AnnotationVariableExpressio
     RutaTestUtils.assertAnnotationsEquals(cas, 4, 2, "Some", "text");
 
   }
-  
+
+  @Test
+  public void testNullValueWithFeatureMatch()
+          throws ResourceInitializationException, InvalidXMLException, IOException,
+          AnalysisEngineProcessException, ResourceConfigurationException, URISyntaxException {
+
+    String document = "Some text.";
+    String script = "";
+    script += "ANNOTATION a;\n";
+    script += "INT i;\n";
+    script += "STRING s;\n";
+    script += "a.begin == 0{-> T1};\n";
+    script += "a.ct == \"text\"{-> T2};\n";
+    script += "a.ff == \"text\"{-> T3};\n"; // !!!
+    script += "Document{-> i = a.begin};\n";
+    script += "Document{-> s = a.ct};\n";
+
+    CAS cas = RutaTestUtils.getCAS(document);
+    Ruta.apply(cas, script);
+
+    RutaTestUtils.assertAnnotationsEquals(cas, 1, 0);
+    RutaTestUtils.assertAnnotationsEquals(cas, 2, 0);
+
+  }
+
 }