use of org.languagetool.rules.RuleMatch in project languagetool by languagetool-org.
the class DemoPatternRuleTest method testRule.
@Test
public void testRule() throws IOException {
PatternRule pr;
RuleMatch[] matches;
JLanguageTool langTool = new JLanguageTool(language);
pr = makePatternRule("one");
matches = pr.match(langTool.getAnalyzedSentence("A non-matching sentence."));
assertEquals(0, matches.length);
matches = pr.match(langTool.getAnalyzedSentence("A matching sentence with one match."));
assertEquals(1, matches.length);
assertEquals(25, matches[0].getFromPos());
assertEquals(28, matches[0].getToPos());
// these two are not set if the rule is called standalone (not via
// JLanguageTool):
assertEquals(-1, matches[0].getColumn());
assertEquals(-1, matches[0].getLine());
assertEquals("ID1", matches[0].getRule().getId());
assertTrue(matches[0].getMessage().equals("user visible message"));
assertTrue(matches[0].getShortMessage().equals("short comment"));
matches = pr.match(langTool.getAnalyzedSentence("one one and one: three matches"));
assertEquals(3, matches.length);
pr = makePatternRule("one two");
matches = pr.match(langTool.getAnalyzedSentence("this is one not two"));
assertEquals(0, matches.length);
matches = pr.match(langTool.getAnalyzedSentence("this is two one"));
assertEquals(0, matches.length);
matches = pr.match(langTool.getAnalyzedSentence("this is one two three"));
assertEquals(1, matches.length);
matches = pr.match(langTool.getAnalyzedSentence("one two"));
assertEquals(1, matches.length);
pr = makePatternRule("one|foo|xxxx two", false, true);
matches = pr.match(langTool.getAnalyzedSentence("one foo three"));
assertEquals(0, matches.length);
matches = pr.match(langTool.getAnalyzedSentence("one two"));
assertEquals(1, matches.length);
matches = pr.match(langTool.getAnalyzedSentence("foo two"));
assertEquals(1, matches.length);
matches = pr.match(langTool.getAnalyzedSentence("one foo two"));
assertEquals(1, matches.length);
matches = pr.match(langTool.getAnalyzedSentence("y x z one two blah foo"));
assertEquals(1, matches.length);
pr = makePatternRule("one|foo|xxxx two|yyy", false, true);
matches = pr.match(langTool.getAnalyzedSentence("one, yyy"));
assertEquals(0, matches.length);
matches = pr.match(langTool.getAnalyzedSentence("one yyy"));
assertEquals(1, matches.length);
matches = pr.match(langTool.getAnalyzedSentence("xxxx two"));
assertEquals(1, matches.length);
matches = pr.match(langTool.getAnalyzedSentence("xxxx yyy"));
assertEquals(1, matches.length);
}
use of org.languagetool.rules.RuleMatch in project languagetool by languagetool-org.
the class MorfologikNewZealandSpellerRuleTest method testMorfologikSpeller.
@Test
public void testMorfologikSpeller() throws IOException {
NewZealandEnglish language = new NewZealandEnglish();
MorfologikNewZealandSpellerRule rule = new MorfologikNewZealandSpellerRule(TestTools.getMessages("en"), language);
JLanguageTool langTool = new JLanguageTool(language);
// correct sentences:
assertEquals(0, rule.match(langTool.getAnalyzedSentence("This is an example: we get behaviour as a dictionary word.")).length);
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Why don't we speak today.")).length);
//with doesn't
assertEquals(0, rule.match(langTool.getAnalyzedSentence("He doesn't know what to do.")).length);
assertEquals(0, rule.match(langTool.getAnalyzedSentence(",")).length);
assertEquals(0, rule.match(langTool.getAnalyzedSentence("123454")).length);
//special New Zealand content:
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Abercrombie")).length);
//incorrect sentences:
RuleMatch[] matches1 = rule.match(langTool.getAnalyzedSentence("behavior"));
// check match positions:
assertEquals(1, matches1.length);
assertEquals(0, matches1[0].getFromPos());
assertEquals(8, matches1[0].getToPos());
assertEquals("behaviour", matches1[0].getSuggestedReplacements().get(0));
assertEquals(1, rule.match(langTool.getAnalyzedSentence("aõh")).length);
assertEquals(0, rule.match(langTool.getAnalyzedSentence("a")).length);
//based on replacement pairs:
RuleMatch[] matches2 = rule.match(langTool.getAnalyzedSentence("He teached us."));
// check match positions:
assertEquals(1, matches2.length);
assertEquals(3, matches2[0].getFromPos());
assertEquals(10, matches2[0].getToPos());
assertEquals("taught", matches2[0].getSuggestedReplacements().get(0));
}
use of org.languagetool.rules.RuleMatch in project languagetool by languagetool-org.
the class MorfologikSouthAfricanSpellerRuleTest method testMorfologikSpeller.
@Test
public void testMorfologikSpeller() throws IOException {
SouthAfricanEnglish language = new SouthAfricanEnglish();
MorfologikSouthAfricanSpellerRule rule = new MorfologikSouthAfricanSpellerRule(TestTools.getMessages("en"), language);
JLanguageTool langTool = new JLanguageTool(language);
// correct sentences:
assertEquals(0, rule.match(langTool.getAnalyzedSentence("This is an example: we get behaviour as a dictionary word.")).length);
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Why don't we speak today.")).length);
//with doesn't
assertEquals(0, rule.match(langTool.getAnalyzedSentence("He doesn't know what to do.")).length);
assertEquals(0, rule.match(langTool.getAnalyzedSentence(",")).length);
assertEquals(0, rule.match(langTool.getAnalyzedSentence("123454")).length);
//South African dict:
assertEquals(0, rule.match(langTool.getAnalyzedSentence("Amanzimnyama")).length);
//incorrect sentences:
RuleMatch[] matches1 = rule.match(langTool.getAnalyzedSentence("behavior"));
// check match positions:
assertEquals(1, matches1.length);
assertEquals(0, matches1[0].getFromPos());
assertEquals(8, matches1[0].getToPos());
assertEquals("behaviour", matches1[0].getSuggestedReplacements().get(0));
assertEquals(1, rule.match(langTool.getAnalyzedSentence("aõh")).length);
assertEquals(0, rule.match(langTool.getAnalyzedSentence("a")).length);
//based on replacement pairs:
RuleMatch[] matches2 = rule.match(langTool.getAnalyzedSentence("He teached us."));
// check match positions:
assertEquals(1, matches2.length);
assertEquals(3, matches2[0].getFromPos());
assertEquals(10, matches2[0].getToPos());
assertEquals("taught", matches2[0].getSuggestedReplacements().get(0));
}
use of org.languagetool.rules.RuleMatch in project languagetool by languagetool-org.
the class MorfologikGermanyGermanSpellerRuleTest method testMorfologikSpeller.
@Test
public void testMorfologikSpeller() throws IOException {
MorfologikGermanyGermanSpellerRule rule = new MorfologikGermanyGermanSpellerRule(TestTools.getMessages("en"), new German());
JLanguageTool lt = new JLanguageTool(new German());
assertEquals(0, rule.match(lt.getAnalyzedSentence("Hier stimmt jedes Wort!")).length);
assertEquals(1, rule.match(lt.getAnalyzedSentence("Hir nicht so ganz.")).length);
assertEquals(0, rule.match(lt.getAnalyzedSentence("Überall äußerst böse Umlaute!")).length);
assertEquals(1, rule.match(lt.getAnalyzedSentence("Üperall äußerst böse Umlaute!")).length);
RuleMatch[] matches = rule.match(lt.getAnalyzedSentence("daß"));
assertEquals(1, matches.length);
assertEquals("dass", matches[0].getSuggestedReplacements().get(0));
}
use of org.languagetool.rules.RuleMatch in project languagetool by languagetool-org.
the class SpellingCheckRuleTest method testIgnoreSuggestionsWithHunspell.
@Test
public void testIgnoreSuggestionsWithHunspell() throws IOException {
JLanguageTool lt = new JLanguageTool(new GermanyGerman());
// no error, as this word is in ignore.txt
assertThat(lt.check("Das ist ein einPseudoWortFürLanguageToolTests").size(), is(0));
List<RuleMatch> matches = lt.check("Das ist ein Tibbfehla");
assertThat(matches.size(), is(1));
assertThat(matches.get(0).getRule().getId(), is(GermanSpellerRule.RULE_ID));
}
Aggregations