From 6f1307440a56c5ad4429827cc04465b5327cbc7f Mon Sep 17 00:00:00 2001 From: Martin Wiesner Date: Tue, 3 Dec 2024 07:20:46 +0100 Subject: [PATCH] OPENNLP-1663 Add test for FileToByteArraySampleStream - adds FileToByteArraySampleStreamTest - moves FileToStringSampleStreamTest to the correct package --- .../convert/AbstractConvertTest.java} | 32 +++++---------- .../FileToByteArraySampleStreamTest.java | 39 ++++++++++++++++++ .../convert/FileToStringSampleStreamTest.java | 40 +++++++++++++++++++ 3 files changed, 88 insertions(+), 23 deletions(-) rename opennlp-tools/src/test/java/opennlp/tools/{convert/FileToStringSampleStreamTest.java => formats/convert/AbstractConvertTest.java} (64%) create mode 100644 opennlp-tools/src/test/java/opennlp/tools/formats/convert/FileToByteArraySampleStreamTest.java create mode 100644 opennlp-tools/src/test/java/opennlp/tools/formats/convert/FileToStringSampleStreamTest.java diff --git a/opennlp-tools/src/test/java/opennlp/tools/convert/FileToStringSampleStreamTest.java b/opennlp-tools/src/test/java/opennlp/tools/formats/convert/AbstractConvertTest.java similarity index 64% rename from opennlp-tools/src/test/java/opennlp/tools/convert/FileToStringSampleStreamTest.java rename to opennlp-tools/src/test/java/opennlp/tools/formats/convert/AbstractConvertTest.java index a9f72397e..2263fc083 100644 --- a/opennlp-tools/src/test/java/opennlp/tools/convert/FileToStringSampleStreamTest.java +++ b/opennlp-tools/src/test/java/opennlp/tools/formats/convert/AbstractConvertTest.java @@ -15,10 +15,9 @@ * limitations under the License. */ -package opennlp.tools.convert; +package opennlp.tools.formats.convert; import java.io.IOException; -import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; @@ -26,41 +25,28 @@ import java.util.Arrays; import java.util.List; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.BeforeEach; import opennlp.tools.AbstractTempDirTest; import opennlp.tools.formats.DirectorySampleStream; -import opennlp.tools.formats.convert.FileToStringSampleStream; -public class FileToStringSampleStreamTest extends AbstractTempDirTest { +public abstract class AbstractConvertTest extends AbstractTempDirTest { - @Test - public void readFileTest() throws IOException { + protected DirectorySampleStream sampleStream; + protected List sentences; + @BeforeEach + public void setUp() throws IOException { final String sentence1 = "This is a sentence."; final String sentence2 = "This is another sentence."; - List sentences = Arrays.asList(sentence1, sentence2); - - DirectorySampleStream directorySampleStream = - new DirectorySampleStream(tempDir.toFile(), null, false); + sentences = Arrays.asList(sentence1, sentence2); + sampleStream = new DirectorySampleStream(tempDir.toFile(), null, false); Path tempFile1 = tempDir.resolve("tempFile1"); Files.writeString(tempFile1, sentence1, StandardCharsets.UTF_8, StandardOpenOption.CREATE); Path tempFile2 = tempDir.resolve("tempFile2"); Files.writeString(tempFile2, sentence2, StandardCharsets.UTF_8, StandardOpenOption.CREATE); - - try (FileToStringSampleStream stream = - new FileToStringSampleStream(directorySampleStream, Charset.defaultCharset())) { - - String read = stream.read(); - Assertions.assertTrue(sentences.contains(read)); - - read = stream.read(); - Assertions.assertTrue(sentences.contains(read)); - } } - } diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/convert/FileToByteArraySampleStreamTest.java b/opennlp-tools/src/test/java/opennlp/tools/formats/convert/FileToByteArraySampleStreamTest.java new file mode 100644 index 000000000..bf0ef6768 --- /dev/null +++ b/opennlp-tools/src/test/java/opennlp/tools/formats/convert/FileToByteArraySampleStreamTest.java @@ -0,0 +1,39 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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. + */ + +package opennlp.tools.formats.convert; + +import java.io.IOException; +import java.nio.charset.StandardCharsets; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class FileToByteArraySampleStreamTest extends AbstractConvertTest { + + @Test + public void readFileTest() throws IOException { + try (FileToByteArraySampleStream stream = new FileToByteArraySampleStream(sampleStream)) { + byte[] read = stream.read(); + Assertions.assertTrue(sentences.contains(new String(read, StandardCharsets.UTF_8))); + + read = stream.read(); + Assertions.assertTrue(sentences.contains(new String(read, StandardCharsets.UTF_8))); + } + } + +} diff --git a/opennlp-tools/src/test/java/opennlp/tools/formats/convert/FileToStringSampleStreamTest.java b/opennlp-tools/src/test/java/opennlp/tools/formats/convert/FileToStringSampleStreamTest.java new file mode 100644 index 000000000..672642df8 --- /dev/null +++ b/opennlp-tools/src/test/java/opennlp/tools/formats/convert/FileToStringSampleStreamTest.java @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You 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. + */ + +package opennlp.tools.formats.convert; + +import java.io.IOException; +import java.nio.charset.StandardCharsets; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class FileToStringSampleStreamTest extends AbstractConvertTest { + + @Test + public void readFileTest() throws IOException { + try (FileToStringSampleStream stream = + new FileToStringSampleStream(sampleStream, StandardCharsets.UTF_8)) { + String read = stream.read(); + Assertions.assertTrue(sentences.contains(read)); + + read = stream.read(); + Assertions.assertTrue(sentences.contains(read)); + } + } + +}