You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opennlp.apache.org by jo...@apache.org on 2014/02/18 13:57:46 UTC

svn commit: r1569299 - in /opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats: ./ ad/

Author: joern
Date: Tue Feb 18 12:57:45 2014
New Revision: 1569299

URL: http://svn.apache.org/r1569299
Log:
OPENNLP-600 Stream test classes now use a InputStreamFactory instead of InputStream.

Added:
    opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ResourceAsStreamFactory.java   (with props)
Modified:
    opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/Conll02NameSampleStreamTest.java
    opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/Conll03NameSampleStreamTest.java
    opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ConllXPOSSampleStreamTest.java
    opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/EvalitaNameSampleStreamTest.java
    opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADChunkSampleStreamTest.java
    opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADNameSampleStreamTest.java
    opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADPOSSampleStreamTest.java
    opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADParagraphStreamTest.java
    opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADSentenceSampleStreamTest.java

Modified: opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/Conll02NameSampleStreamTest.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/Conll02NameSampleStreamTest.java?rev=1569299&r1=1569298&r2=1569299&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/Conll02NameSampleStreamTest.java (original)
+++ opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/Conll02NameSampleStreamTest.java Tue Feb 18 12:57:45 2014
@@ -24,10 +24,10 @@ import static org.junit.Assert.assertNul
 import static org.junit.Assert.assertTrue;
 
 import java.io.IOException;
-import java.io.InputStream;
 
 import opennlp.tools.formats.Conll02NameSampleStream.LANGUAGE;
 import opennlp.tools.namefind.NameSample;
+import opennlp.tools.util.InputStreamFactory;
 import opennlp.tools.util.ObjectStream;
 import opennlp.tools.util.Span;
 
@@ -41,7 +41,8 @@ import org.junit.Test;
 public class Conll02NameSampleStreamTest {
   
   private static ObjectStream<NameSample> openData(LANGUAGE lang, String name) throws IOException {
-    InputStream in = Conll02NameSampleStreamTest.class.getResourceAsStream("/opennlp/tools/formats/" + name);
+    InputStreamFactory in = new ResourceAsStreamFactory(Conll02NameSampleStreamTest.class, 
+        "/opennlp/tools/formats/" + name);
     
     return new Conll02NameSampleStream(lang, in, Conll02NameSampleStream.GENERATE_PERSON_ENTITIES);
   }
@@ -84,4 +85,15 @@ public class Conll02NameSampleStreamTest
     
     assertNull(sampleStream.read());
   }
+  
+  @Test
+  public void testReset() throws IOException {
+    ObjectStream<NameSample> sampleStream = openData(LANGUAGE.NL, "conll2002-nl.sample");
+    
+    NameSample sample = sampleStream.read();
+    
+    sampleStream.reset();
+    
+    assertEquals(sample, sampleStream.read());
+  }
 }

Modified: opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/Conll03NameSampleStreamTest.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/Conll03NameSampleStreamTest.java?rev=1569299&r1=1569298&r2=1569299&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/Conll03NameSampleStreamTest.java (original)
+++ opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/Conll03NameSampleStreamTest.java Tue Feb 18 12:57:45 2014
@@ -22,10 +22,10 @@ import static org.junit.Assert.assertNot
 import static org.junit.Assert.assertNull;
 
 import java.io.IOException;
-import java.io.InputStream;
 
 import opennlp.tools.formats.Conll03NameSampleStream.LANGUAGE;
 import opennlp.tools.namefind.NameSample;
+import opennlp.tools.util.InputStreamFactory;
 import opennlp.tools.util.ObjectStream;
 import opennlp.tools.util.Span;
 
@@ -41,7 +41,8 @@ public class Conll03NameSampleStreamTest
   
 	
   private static ObjectStream<NameSample> openData(LANGUAGE lang, String name) throws IOException {
-    InputStream in = Conll03NameSampleStreamTest.class.getResourceAsStream("/opennlp/tools/formats/" + name);
+    InputStreamFactory in = new ResourceAsStreamFactory(Conll03NameSampleStreamTest.class, 
+        "/opennlp/tools/formats/" + name);
 
     return new Conll03NameSampleStream(lang, in, Conll02NameSampleStream.GENERATE_PERSON_ENTITIES);
   }
@@ -97,4 +98,15 @@ public class Conll03NameSampleStreamTest
     assertEquals(0, personName.getNames().length);
     assertEquals(true, personName.isClearAdaptiveDataSet());
   }
+  
+  @Test
+  public void testReset() throws IOException {
+    ObjectStream<NameSample> sampleStream = openData(LANGUAGE.DE, GERMAN_SAMPLE);
+    
+    NameSample sample = sampleStream.read();
+    
+    sampleStream.reset();
+    
+    assertEquals(sample, sampleStream.read());
+  }
 }
\ No newline at end of file

Modified: opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ConllXPOSSampleStreamTest.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ConllXPOSSampleStreamTest.java?rev=1569299&r1=1569298&r2=1569299&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ConllXPOSSampleStreamTest.java (original)
+++ opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ConllXPOSSampleStreamTest.java Tue Feb 18 12:57:45 2014
@@ -21,11 +21,10 @@ import static org.junit.Assert.assertEqu
 import static org.junit.Assert.assertNull;
 
 import java.io.IOException;
-import java.io.InputStream;
 import java.nio.charset.Charset;
 
 import opennlp.tools.postag.POSSample;
-import opennlp.tools.util.MockInputStreamFactory;
+import opennlp.tools.util.InputStreamFactory;
 import opennlp.tools.util.ObjectStream;
 
 import org.junit.Test;
@@ -35,10 +34,10 @@ public class ConllXPOSSampleStreamTest {
   @Test
   public void testParsingSample() throws IOException {
     
-    InputStream in = ConllXPOSSampleStreamTest.class.getResourceAsStream("/opennlp/tools/formats/conllx.sample");
+    InputStreamFactory in = new ResourceAsStreamFactory(ConllXPOSSampleStreamTest.class, 
+        "/opennlp/tools/formats/conllx.sample");
     
-    ObjectStream<POSSample> sampleStream = new ConllXPOSSampleStream(new MockInputStreamFactory(in),
-        Charset.forName("UTF-8"));
+    ObjectStream<POSSample> sampleStream = new ConllXPOSSampleStream(in,Charset.forName("UTF-8"));
     
     POSSample a = sampleStream.read();
     

Modified: opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/EvalitaNameSampleStreamTest.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/EvalitaNameSampleStreamTest.java?rev=1569299&r1=1569298&r2=1569299&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/EvalitaNameSampleStreamTest.java (original)
+++ opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/EvalitaNameSampleStreamTest.java Tue Feb 18 12:57:45 2014
@@ -22,10 +22,10 @@ import static org.junit.Assert.assertNot
 import static org.junit.Assert.assertNull;
 
 import java.io.IOException;
-import java.io.InputStream;
 
 import opennlp.tools.formats.EvalitaNameSampleStream.LANGUAGE;
 import opennlp.tools.namefind.NameSample;
+import opennlp.tools.util.InputStreamFactory;
 import opennlp.tools.util.ObjectStream;
 import opennlp.tools.util.Span;
 
@@ -39,7 +39,8 @@ import org.junit.Test;
 public class EvalitaNameSampleStreamTest {
   
   private static ObjectStream<NameSample> openData(LANGUAGE lang, String name) throws IOException {
-    InputStream in = EvalitaNameSampleStreamTest.class.getResourceAsStream("/opennlp/tools/formats/" + name);
+    InputStreamFactory in = new ResourceAsStreamFactory(EvalitaNameSampleStreamTest.class, 
+        "/opennlp/tools/formats/" + name);
     
     return new EvalitaNameSampleStream(lang, in, EvalitaNameSampleStream.GENERATE_PERSON_ENTITIES);
   }
@@ -67,4 +68,14 @@ public class EvalitaNameSampleStreamTest
     assertNull(sampleStream.read());
   }
   
+  @Test
+  public void testReset() throws IOException {
+    ObjectStream<NameSample> sampleStream = openData(LANGUAGE.IT, "evalita-ner-it.sample");
+    
+    NameSample sample = sampleStream.read();
+    
+    sampleStream.reset();
+    
+    assertEquals(sample, sampleStream.read());
+  }
 }

Added: opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ResourceAsStreamFactory.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ResourceAsStreamFactory.java?rev=1569299&view=auto
==============================================================================
--- opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ResourceAsStreamFactory.java (added)
+++ opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ResourceAsStreamFactory.java Tue Feb 18 12:57:45 2014
@@ -0,0 +1,47 @@
+/*
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ * 
+ *       http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *  under the License.
+ */
+
+package opennlp.tools.formats;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import opennlp.tools.util.InputStreamFactory;
+
+public class ResourceAsStreamFactory implements InputStreamFactory {
+
+  private Class<?> clazz;
+  private String name;
+
+  /**
+   * 
+   * @param clazz
+   * @param name
+   */
+  public ResourceAsStreamFactory(Class<?> clazz, String name) {
+    
+    if (clazz == null || name == null) {
+      throw new IllegalArgumentException("Null parameters are not allowed!");
+    }
+    
+    this.clazz = clazz;
+    this.name = name;
+  }
+  
+  @Override
+  public InputStream createInputStream() throws IOException {
+    return clazz.getResourceAsStream(name);
+  }
+}

Propchange: opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ResourceAsStreamFactory.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADChunkSampleStreamTest.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADChunkSampleStreamTest.java?rev=1569299&r1=1569298&r2=1569299&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADChunkSampleStreamTest.java (original)
+++ opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADChunkSampleStreamTest.java Tue Feb 18 12:57:45 2014
@@ -20,11 +20,12 @@ package opennlp.tools.formats.ad;
 import static org.junit.Assert.assertEquals;
 
 import java.io.IOException;
-import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.List;
 
 import opennlp.tools.chunker.ChunkSample;
+import opennlp.tools.formats.ResourceAsStreamFactory;
+import opennlp.tools.util.InputStreamFactory;
 import opennlp.tools.util.PlainTextByLineStream;
 
 import org.junit.Before;
@@ -66,8 +67,8 @@ public class ADChunkSampleStreamTest {
 
   @Before
   public void setup() throws IOException {
-    InputStream in = ADParagraphStreamTest.class
-	.getResourceAsStream("/opennlp/tools/formats/ad.sample");
+    InputStreamFactory in = new ResourceAsStreamFactory(
+        ADParagraphStreamTest.class, "/opennlp/tools/formats/ad.sample");
 
     ADChunkSampleStream stream = new ADChunkSampleStream(
     	new PlainTextByLineStream(in, "UTF-8"));

Modified: opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADNameSampleStreamTest.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADNameSampleStreamTest.java?rev=1569299&r1=1569298&r2=1569299&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADNameSampleStreamTest.java (original)
+++ opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADNameSampleStreamTest.java Tue Feb 18 12:57:45 2014
@@ -20,11 +20,12 @@ package opennlp.tools.formats.ad;
 import static org.junit.Assert.assertEquals;
 
 import java.io.IOException;
-import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.List;
 
+import opennlp.tools.formats.ResourceAsStreamFactory;
 import opennlp.tools.namefind.NameSample;
+import opennlp.tools.util.InputStreamFactory;
 import opennlp.tools.util.PlainTextByLineStream;
 import opennlp.tools.util.Span;
 
@@ -112,8 +113,8 @@ public class ADNameSampleStreamTest {
 
   @Before
   public void setup() throws IOException {
-    InputStream in = ADParagraphStreamTest.class
-        .getResourceAsStream("/opennlp/tools/formats/ad.sample");
+    InputStreamFactory in = new ResourceAsStreamFactory(ADParagraphStreamTest.class,
+        "/opennlp/tools/formats/ad.sample");
 
     ADNameSampleStream stream = new ADNameSampleStream(
         new PlainTextByLineStream(in, "UTF-8"), true);

Modified: opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADPOSSampleStreamTest.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADPOSSampleStreamTest.java?rev=1569299&r1=1569298&r2=1569299&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADPOSSampleStreamTest.java (original)
+++ opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADPOSSampleStreamTest.java Tue Feb 18 12:57:45 2014
@@ -21,6 +21,7 @@ import static org.junit.Assert.assertEqu
 
 import java.io.IOException;
 
+import opennlp.tools.formats.ResourceAsStreamFactory;
 import opennlp.tools.postag.POSSample;
 import opennlp.tools.util.PlainTextByLineStream;
 
@@ -32,9 +33,8 @@ public class ADPOSSampleStreamTest {
   public void testSimple() throws IOException {
     // add one sentence with expandME = includeFeats = false
     ADPOSSampleStream stream = new ADPOSSampleStream(
-        new PlainTextByLineStream(
-            ADParagraphStreamTest.class
-                .getResourceAsStream("/opennlp/tools/formats/ad.sample"),
+        new PlainTextByLineStream(new ResourceAsStreamFactory(
+            ADParagraphStreamTest.class, "/opennlp/tools/formats/ad.sample"),
             "UTF-8"), false, false);
 
     POSSample sample = stream.read();
@@ -58,9 +58,8 @@ public class ADPOSSampleStreamTest {
   public void testExpandME() throws IOException {
     // add one sentence with expandME = true
     ADPOSSampleStream stream = new ADPOSSampleStream(
-        new PlainTextByLineStream(
-            ADParagraphStreamTest.class
-                .getResourceAsStream("/opennlp/tools/formats/ad.sample"),
+        new PlainTextByLineStream(new ResourceAsStreamFactory(
+            ADParagraphStreamTest.class, "/opennlp/tools/formats/ad.sample"),
             "UTF-8"), true, false);
 
     POSSample sample = stream.read();
@@ -87,9 +86,8 @@ public class ADPOSSampleStreamTest {
   public void testIncludeFeats() throws IOException {
     // add one sentence with includeFeats = true
     ADPOSSampleStream stream = new ADPOSSampleStream(
-        new PlainTextByLineStream(
-            ADParagraphStreamTest.class
-                .getResourceAsStream("/opennlp/tools/formats/ad.sample"),
+        new PlainTextByLineStream(new ResourceAsStreamFactory(
+            ADParagraphStreamTest.class, "/opennlp/tools/formats/ad.sample"),
             "UTF-8"), false, true);
 
     POSSample sample = stream.read();

Modified: opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADParagraphStreamTest.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADParagraphStreamTest.java?rev=1569299&r1=1569298&r2=1569299&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADParagraphStreamTest.java (original)
+++ opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADParagraphStreamTest.java Tue Feb 18 12:57:45 2014
@@ -20,8 +20,9 @@ package opennlp.tools.formats.ad;
 import static org.junit.Assert.assertEquals;
 
 import java.io.IOException;
-import java.io.InputStream;
 
+import opennlp.tools.formats.ResourceAsStreamFactory;
+import opennlp.tools.util.InputStreamFactory;
 import opennlp.tools.util.PlainTextByLineStream;
 
 import org.junit.Test;
@@ -64,7 +65,7 @@ public class ADParagraphStreamTest {
   }
   
   private static ADSentenceStream openData() throws IOException {
-    InputStream in = ADParagraphStreamTest.class.getResourceAsStream("/opennlp/tools/formats/ad.sample");
+    InputStreamFactory in = new ResourceAsStreamFactory(ADParagraphStreamTest.class, "/opennlp/tools/formats/ad.sample");
     
     return new ADSentenceStream(new PlainTextByLineStream(in, "UTF-8"));
   }

Modified: opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADSentenceSampleStreamTest.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADSentenceSampleStreamTest.java?rev=1569299&r1=1569298&r2=1569299&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADSentenceSampleStreamTest.java (original)
+++ opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/formats/ad/ADSentenceSampleStreamTest.java Tue Feb 18 12:57:45 2014
@@ -21,11 +21,12 @@ import static org.junit.Assert.assertEqu
 import static org.junit.Assert.assertNotNull;
 
 import java.io.IOException;
-import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.List;
 
+import opennlp.tools.formats.ResourceAsStreamFactory;
 import opennlp.tools.sentdetect.SentenceSample;
+import opennlp.tools.util.InputStreamFactory;
 import opennlp.tools.util.PlainTextByLineStream;
 import opennlp.tools.util.Span;
 
@@ -52,8 +53,8 @@ public class ADSentenceSampleStreamTest 
 
   @Before
   public void setup() throws IOException {
-    InputStream in = ADSentenceSampleStreamTest.class
-        .getResourceAsStream("/opennlp/tools/formats/ad.sample");
+    InputStreamFactory in = new ResourceAsStreamFactory(ADSentenceSampleStreamTest.class,
+        "/opennlp/tools/formats/ad.sample");
 
     ADSentenceSampleStream stream = new ADSentenceSampleStream(
         new PlainTextByLineStream(in, "UTF-8"), true);