assertTrue(rule.supportsLanguage(new German()));
}
public void testRule() throws IOException {
CaseRule rule = new CaseRule(null);
JLanguageTool langTool = new JLanguageTool(new German());
// correct sentences:
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Ein einfacher Satz zum Testen.")).length);
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Das Laufen fällt mir leicht.")).length);
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Das Winseln stört.")).length);
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Das schlägt nicht so zu Buche.")).length);
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Dirk Hetzel ist ein Name.")).length);
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Sein Verhalten war okay.")).length);
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Hier ein Satz. \"Ein Zitat.\"")).length);
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Hier ein Satz. 'Ein Zitat.'")).length);
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Hier ein Satz. «Ein Zitat.»")).length);
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Hier ein Satz. »Ein Zitat.«")).length);
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Hier ein Satz. (Noch einer.)")).length);
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Hier geht es nach Tel Aviv.")).length);
assertEquals(0, langTool.check("Karten werden vom Auswahlstapel gezogen. […] Der Auswahlstapel gehört zum Inhalt.").size());
// assertEquals(1, langTool.check("Karten werden vom Auswahlstapel gezogen. [...] Der Auswahlstapel gehört zum Inhalt.").size());
// "NIL" reading in Morphy that used to confuse CaseRule:
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Ein Menschenfreund.")).length);
// works only thanks to addex.txt:
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Der Nachfahre.")).length);
// both can be correct:
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Hier ein Satz, \"Ein Zitat.\"")).length);
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Hier ein Satz, \"ein Zitat.\"")).length);
// Exception 'Le':
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Schon Le Monde schrieb das.")).length);
// unknown word:
assertEquals(0, rule.match(langTool.getAnalyzedSentence("In Blubberdorf macht man das so.")).length);
// sentences that used to trigger an error because of incorrect compound tokenization:
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Das sind Euroscheine.")).length);
assertEquals(0, rule.match(langTool.getAnalyzedSentence("John Stallman isst.")).length);
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Das ist die neue Gesellschafterin hier.")).length);
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Das ist die neue Dienerin hier.")).length);
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Das ist die neue Geigerin hier.")).length);
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Die ersten Gespanne erreichen Köln.")).length);
// used to trigger error because of wrong POS tagging:
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Die Schlinge zieht sich zu.")).length);
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Die Schlingen ziehen sich zu.")).length);
// used to trigger error because of "abbreviation"
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Sie fällt auf durch ihre hilfsbereite Art. Zudem zeigt sie soziale Kompetenz.")).length);
// TODO: nach dem Doppelpunkt wird derzeit nicht auf groß/klein getestet:
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Das ist es: kein Satz.")).length);
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Das ist es: Kein Satz.")).length);
// incorrect sentences:
assertEquals(1, rule.match(langTool.getAnalyzedSentence("Ein Einfacher Satz zum Testen.")).length);
assertEquals(1, rule.match(langTool.getAnalyzedSentence("Das Winseln Stört.")).length);
assertEquals(1, rule.match(langTool.getAnalyzedSentence("Sein verhalten war okay.")).length);
assertEquals(1, langTool.check("Karten werden vom Auswahlstapel gezogen. Auch […] Der Auswahlstapel gehört zum Inhalt.").size());
// assertEquals(2, langTool.check("Karten werden vom Auswahlstapel gezogen. Auch [...] Der Auswahlstapel gehört zum Inhalt.").size());
}