You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by tw...@apache.org on 2008/10/02 19:11:07 UTC
svn commit: r701191 -
/incubator/uima/sandbox/trunk/Tagger/src/test/java/org/apache/uima/examples/tagger/test/TaggerTest.java
Author: twgoetz
Date: Thu Oct 2 10:11:06 2008
New Revision: 701191
URL: http://svn.apache.org/viewvc?rev=701191&view=rev
Log:
Jira UIMA-1193: protect against NPE. Add test case processing Moby Dick to guard against regression.
https://issues.apache.org/jira/browse/UIMA-1193
Modified:
incubator/uima/sandbox/trunk/Tagger/src/test/java/org/apache/uima/examples/tagger/test/TaggerTest.java
Modified: incubator/uima/sandbox/trunk/Tagger/src/test/java/org/apache/uima/examples/tagger/test/TaggerTest.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/Tagger/src/test/java/org/apache/uima/examples/tagger/test/TaggerTest.java?rev=701191&r1=701190&r2=701191&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/Tagger/src/test/java/org/apache/uima/examples/tagger/test/TaggerTest.java (original)
+++ incubator/uima/sandbox/trunk/Tagger/src/test/java/org/apache/uima/examples/tagger/test/TaggerTest.java Thu Oct 2 10:11:06 2008
@@ -30,6 +30,7 @@
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.io.Writer;
+import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -48,6 +49,7 @@
import org.apache.uima.examples.tagger.HMMTagger;
import org.apache.uima.examples.tagger.Viterbi;
import org.apache.uima.jcas.JCas;
+import org.apache.uima.test.junit_extension.JUnitExtension;
import org.apache.uima.util.FileUtils;
import org.apache.uima.util.XMLInputSource;
import org.apache.uima.util.XMLParser;
@@ -210,7 +212,12 @@
}
/**
- * Run tagger on Moby Dick and compare result to pre-computed XCAS.
+ * Run tagger on Moby Dick and compare result to pre-computed XCAS. This test case is a bit
+ * brittle. First of all, it requires the uimaj-core project as a neighbor, otherwise it won't
+ * find moby.txt, the test input. Secondly, the reference output is only a list of POS tags.
+ * This is so the file doesn't get so big. Finally, if anything changes, even improvements, this
+ * test will most likely fail and will need to be updated. There's an unused method below that
+ * can be used to write a new set of POS tags when the old ones become obsolete.
*/
public void testMobyDick() {
try {
@@ -218,8 +225,16 @@
XMLInputSource xmlInputSource = new XMLInputSource("desc/HmmTaggerAggregate.xml");
AnalysisEngine taggerEngine = UIMAFramework.produceAnalysisEngine(xmlParser
.parseResourceSpecifier(xmlInputSource));
- String text = FileUtils.file2String(
- new File("../uimaj-core/src/test/resources/data/moby.txt"), "utf-8");
+ String text = null;
+ try {
+ text = FileUtils.file2String(new File("../uimaj-core/src/test/resources/data/moby.txt"),
+ "utf-8");
+ } catch (FileNotFoundException e) {
+ System.err
+ .println("Warning: this test case runs only if uimaj-core is a sister project to the tagger project; otherwise, the test input data is not available.");
+ System.err.println("Skipping test");
+ return;
+ }
JCas cas = taggerEngine.newJCas();
cas.setDocumentText(text);
taggerEngine.process(cas);
@@ -245,7 +260,7 @@
}
return tags;
}
-
+
private List<String> getCurrentTagList(JCas cas) {
List<String> tagList = new ArrayList<String>();
AnnotationIndex tokenIndex = cas.getAnnotationIndex(TokenAnnotation.type);