use of org.languagetool.rules.RuleMatch in project languagetool by languagetool-org.
the class RegexPatternRuleTest method testMatch.
@Test
public void testMatch() throws IOException {
RegexPatternRule rule = new RegexPatternRule("ID", "desc", "msg: <suggestion>a suggestion \\1</suggestion>", "<suggestion>another suggestion \\2</suggestion>", TestTools.getDemoLanguage(), Pattern.compile("(fo.) (bar)"), 0);
JLanguageTool lt = new JLanguageTool(TestTools.getDemoLanguage());
RuleMatch[] matches1 = rule.match(lt.getAnalyzedSentence("This is a test"));
assertThat(matches1.length, is(0));
RuleMatch[] matches2 = rule.match(lt.getAnalyzedSentence("This is foo bar"));
assertThat(matches2.length, is(1));
assertThat(matches2[0].getFromPos(), is(8));
assertThat(matches2[0].getToPos(), is(15));
RuleMatch[] matches3 = rule.match(lt.getAnalyzedSentence("This is foo bar and fou bar"));
assertThat(matches3.length, is(2));
assertThat(matches3[0].getFromPos(), is(8));
assertThat(matches3[0].getToPos(), is(15));
assertThat(matches3[0].getMessage(), is("msg: <suggestion>a suggestion foo</suggestion>"));
assertThat(matches3[0].getSuggestedReplacements().toString(), is("[a suggestion foo, another suggestion bar]"));
assertThat(matches3[1].getFromPos(), is(20));
assertThat(matches3[1].getToPos(), is(27));
assertThat(matches3[1].getMessage(), is("msg: <suggestion>a suggestion fou</suggestion>"));
assertThat(matches3[1].getSuggestedReplacements().toString(), is("[a suggestion fou, another suggestion bar]"));
}
use of org.languagetool.rules.RuleMatch in project languagetool by languagetool-org.
the class DifferentPunctuationRuleTest method testRule.
@Test
public void testRule() throws IOException {
DifferentPunctuationRule rule = new DifferentPunctuationRule();
RuleMatch[] matches;
JLanguageTool srcLangTool = new JLanguageTool(TestTools.getDemoLanguage());
JLanguageTool trgLangTool = new JLanguageTool(new FakeLanguage());
rule.setSourceLanguage(TestTools.getDemoLanguage());
// correct sentences:
matches = rule.match(srcLangTool.getAnalyzedSentence("This is a test sentence!"), trgLangTool.getAnalyzedSentence("C'est la vie!"));
assertEquals(0, matches.length);
matches = rule.match(srcLangTool.getAnalyzedSentence("one sentence"), trgLangTool.getAnalyzedSentence("jedno zdanie"));
assertEquals(0, matches.length);
// incorrect sentences:
matches = rule.match(srcLangTool.getAnalyzedSentence("This this is a test sentence."), trgLangTool.getAnalyzedSentence("This this is a test sentence!"));
assertEquals(1, matches.length);
}
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));
}
Aggregations