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); + + } + }