mawiesne commented on code in PR #792:
URL: https://github.com/apache/opennlp/pull/792#discussion_r2162113840
##########
opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/sentdetect/SentenceDetectorMEGermanTest.java:
##########
@@ -66,40 +75,63 @@ void testSentDetectWithInlineAbbreviationsEx1() {
SentenceDetectorME sentDetect = new SentenceDetectorME(sentdetectModel);
String sampleSentences = sent1 + " " + sent2;
String[] sents = sentDetect.sentDetect(sampleSentences);
- Assertions.assertEquals(2, sents.length);
- Assertions.assertEquals(sent1, sents[0]);
- Assertions.assertEquals(sent2, sents[1]);
+ assertEquals(2, sents.length);
+ assertEquals(sent1, sents[0]);
+ assertEquals(sent2, sents[1]);
double[] probs = sentDetect.getSentenceProbabilities();
- Assertions.assertEquals(2, probs.length);
+ assertEquals(2, probs.length);
}
// Reduced example taken from 'Sentences_DE.txt'
@Test
void testSentDetectWithInlineAbbreviationsEx2() {
+ prepareResources(true);
+
// Here we have three abbreviations: "S. = Seite", "vgl. = vergleiche",
and "f. = folgende (Singular)"
final String sent1 = "Die farbige Tafel, die ich aufschlage, " +
"geht (vgl. die Analyse S. 185 f.) auf ein neues Thema ein.";
SentenceDetectorME sentDetect = new SentenceDetectorME(sentdetectModel);
String[] sents = sentDetect.sentDetect(sent1);
- Assertions.assertEquals(1, sents.length);
- Assertions.assertEquals(sent1, sents[0]);
+ assertEquals(1, sents.length);
+ assertEquals(sent1, sents[0]);
double[] probs = sentDetect.getSentenceProbabilities();
- Assertions.assertEquals(1, probs.length);
+ assertEquals(1, probs.length);
}
// Modified example deduced from 'Sentences_DE.txt'
@Test
void testSentDetectWithInlineAbbreviationsEx3() {
+ prepareResources(true);
+
// Here we have two abbreviations "z. B. = zum Beispiel" and "S. = Seite"
final String sent1 = "Die farbige Tafel, die ich aufschlage, " +
"geht (z. B. die Analyse S. 185) auf ein neues Thema ein.";
SentenceDetectorME sentDetect = new SentenceDetectorME(sentdetectModel);
String[] sents = sentDetect.sentDetect(sent1);
- Assertions.assertEquals(1, sents.length);
- Assertions.assertEquals(sent1, sents[0]);
+ assertEquals(1, sents.length);
+ assertEquals(sent1, sents[0]);
+ double[] probs = sentDetect.getSentenceProbabilities();
+ assertEquals(1, probs.length);
+ }
+
+ @Test
+ void testSentDetectWithUseTokenEndFalse() {
+ prepareResources(false);
+
+ final String sent1 = "Träume sind eine Verbindung von Gedanken.";
+ final String sent2 = "Verschiedene Gedanken sind während der
Traumformation aktiv.";
+
+ SentenceDetectorME sentDetect = new SentenceDetectorME(sentdetectModel);
+ //There is no blank space before start of the second sentence.
+ String[] sents = sentDetect.sentDetect(sent1 + sent2);
double[] probs = sentDetect.getSentenceProbabilities();
- Assertions.assertEquals(1, probs.length);
+ assertAll(
Review Comment:
Could you apply the `assertAll(..)` pattern to the other two test scenario
analogously?
It reads nicely this way.
##########
opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/sentdetect/SentenceDetectorMEGermanTest.java:
##########
@@ -45,19 +48,25 @@ public class SentenceDetectorMEGermanTest extends
AbstractSentenceDetectorTest {
private static SentenceModel sentdetectModel;
Review Comment:
Given `prepareResources(..)` is not static any longer, this field should
also avoid "static" and become an instance per Test case. Please consider
removing `static` here.
##########
opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/sentdetect/SentenceDetectorMEGermanTest.java:
##########
@@ -45,19 +48,25 @@ public class SentenceDetectorMEGermanTest extends
AbstractSentenceDetectorTest {
private static SentenceModel sentdetectModel;
- @BeforeAll
- public static void prepareResources() throws IOException {
- Dictionary abbreviationDict = loadAbbDictionary(Locale.GERMAN);
- SentenceDetectorFactory factory = new SentenceDetectorFactory(
- "deu", true, abbreviationDict, EOS_CHARS);
- sentdetectModel = train(factory, Locale.GERMAN);
- Assertions.assertNotNull(sentdetectModel);
- Assertions.assertEquals("deu", sentdetectModel.getLanguage());
+ private void prepareResources(boolean useTokenEnd) {
+ try {
+ Dictionary abbreviationDict = loadAbbDictionary(Locale.GERMAN);
Review Comment:
This could be done in an @BeforeAll test preparation step, as the
`abbreviationDict` is constant for this scenario.
If left like this, more effort is required, as it is reloaded per actual
test case.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]