Revision: 7348
          
http://languagetool.svn.sourceforge.net/languagetool/?rev=7348&view=rev
Author:   milek_pl
Date:     2012-06-15 09:53:09 +0000 (Fri, 15 Jun 2012)
Log Message:
-----------
[pl] replace hunspell with morfologik

Modified Paths:
--------------
    trunk/JLanguageTool/.classpath
    trunk/JLanguageTool/build.properties
    trunk/JLanguageTool/build.xml
    trunk/JLanguageTool/jnlp/LanguageTool.jnlp
    trunk/JLanguageTool/jnlp/LanguageToolServer.jnlp
    trunk/JLanguageTool/src/java/org/languagetool/gui/Main.java
    trunk/JLanguageTool/src/java/org/languagetool/language/Polish.java
    trunk/JLanguageTool/src/java/org/languagetool/openoffice/Main.java
    trunk/JLanguageTool/src/test/org/languagetool/JLanguageToolTest.java
    trunk/JLanguageTool/src/test/org/languagetool/MainTest.java
    trunk/JLanguageTool/src/test/org/languagetool/rules/HunspellRuleTest.java

Added Paths:
-----------
    trunk/JLanguageTool/libs/morfologik-speller-1.5.4.jar
    trunk/JLanguageTool/src/java/org/languagetool/rules/spelling/morfologik/
    
trunk/JLanguageTool/src/java/org/languagetool/rules/spelling/morfologik/MorfologikSpellerRule.java
    trunk/JLanguageTool/src/java/org/languagetool/rules/spelling/morfologik/pl/
    
trunk/JLanguageTool/src/java/org/languagetool/rules/spelling/morfologik/pl/MorfologikPolishSpellerRule.java
    trunk/JLanguageTool/src/resource/pl/hunspell/pl_PL.dict
    trunk/JLanguageTool/src/resource/pl/hunspell/pl_PL.info
    
trunk/JLanguageTool/src/test/org/languagetool/rules/pl/MorfologikPolishSpellerRuleTest.java

Modified: trunk/JLanguageTool/.classpath
===================================================================
--- trunk/JLanguageTool/.classpath      2012-06-14 22:42:04 UTC (rev 7347)
+++ trunk/JLanguageTool/.classpath      2012-06-15 09:53:09 UTC (rev 7348)
@@ -26,6 +26,7 @@
                </attributes>
        </classpathentry>
        <classpathentry kind="lib" path="libs/morfologik-stemming-1.5.3.jar"/>
+       <classpathentry kind="lib" path="libs/morfologik-speller-1.5.4.jar" 
sourcepath="/morfologik-speller"/>
        <classpathentry exported="true" kind="con" 
path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
        <classpathentry kind="con" 
path="org.eclipse.jdt.junit.JUNIT_CONTAINER/3"/>
        <classpathentry kind="lib" path="libs/jWordSplitter.jar" 
sourcepath="/jWordSplitter"/>
@@ -42,6 +43,6 @@
        <classpathentry kind="lib" path="libs/CJFtransform_v1.0.1_bin.jar"/>
        <classpathentry kind="lib" path="libs/commons-validator-1.3.1.jar"/>
        <classpathentry kind="lib" path="libs/xml-text-editor-0.0.3.jar"/>
-       <classpathentry kind="lib" path="libs/morfologik-fsa-1.5.3.jar"/>
+       <classpathentry kind="lib" path="libs/morfologik-fsa-1.5.3.jar" 
sourcepath="/morfologik-fsa"/>
        <classpathentry kind="output" path="bin"/>
 </classpath>

Modified: trunk/JLanguageTool/build.properties
===================================================================
--- trunk/JLanguageTool/build.properties        2012-06-14 22:42:04 UTC (rev 
7347)
+++ trunk/JLanguageTool/build.properties        2012-06-15 09:53:09 UTC (rev 
7348)
@@ -26,8 +26,10 @@
 
 morfologik.fsa.lib = morfologik-fsa-1.5.3.jar
 morfologik.stemming.lib = morfologik-stemming-1.5.3.jar
+morfologik.speller.lib = morfologik-speller-1.5.4.jar
 ext.morfologik.fsa.lib = ${ext.dir}/${morfologik.fsa.lib}
 ext.morfologik.stemming.lib = ${ext.dir}/${morfologik.stemming.lib}
+ext.morfologik.speller.lib = ${ext.dir}/${morfologik.speller.lib} 
 ext.jwordsplitter.lib = ${ext.dir}/jWordSplitter.jar
 segment.lib = segment-1.3.8.jar
 ext.segment.lib = ${ext.dir}/${segment.lib}

Modified: trunk/JLanguageTool/build.xml
===================================================================
--- trunk/JLanguageTool/build.xml       2012-06-14 22:42:04 UTC (rev 7347)
+++ trunk/JLanguageTool/build.xml       2012-06-15 09:53:09 UTC (rev 7348)
@@ -15,6 +15,7 @@
        <path id="common.classpath">
                <pathelement location="${ext.morfologik.fsa.lib}" />
                <pathelement location="${ext.morfologik.stemming.lib}" />
+               <pathelement location="${ext.morfologik.speller.lib}" />
                <pathelement location="${ext.jwordsplitter.lib}" />
         <pathelement location="${ext.logging.lib}" />
         <pathelement location="${ext.commons.lang.lib}" />
@@ -334,7 +335,7 @@
                <jar jarfile="${dist.dir}/${final.name}.jar" 
basedir="${build.classes}" excludes="**/*.java">
                        <manifest>
                                <attribute name="Main-Class" 
value="org.languagetool.Main" />
-                               <attribute name="Class-Path" value="./ ./rules 
./resource ./${morfologik.fsa.lib} ./${morfologik.stemming.lib} 
./jWordSplitter.jar ./${segment.lib} ./${logging.lib} ./${tika.lib} 
./${ictclas4j.lib} ./${CJFtransform.lib} ./${commons-validator.lib} 
./${commons.lang.lib} ./${jna.lib}" />
+                               <attribute name="Class-Path" value="./ ./rules 
./resource ./${morfologik.fsa.lib} ./${morfologik.stemming.lib} 
./${morfologik.speller.lib} ./jWordSplitter.jar ./${segment.lib} 
./${logging.lib} ./${tika.lib} ./${ictclas4j.lib} ./${CJFtransform.lib} 
./${commons-validator.lib} ./${commons.lang.lib} ./${jna.lib}" />
                                <attribute name="Implementation-Version" 
value="${version}" />
                                <attribute name="Implementation-Date" 
value="${date}" />
                        </manifest>
@@ -343,7 +344,7 @@
                <jar jarfile="${dist.dir}/${final.name.gui}.jar" 
basedir="${build.classes}" includes="org/languagetool/gui/*.class">
                        <manifest>
                                <attribute name="Main-Class" 
value="org.languagetool.gui.Main" />
-                               <attribute name="Class-Path" 
value="./LanguageTool.jar ./ ./resource ./rules ./${morfologik.fsa.lib} 
./${morfologik.stemming.lib} ./jWordSplitter.jar ./${segment.lib} 
./${logging.lib} ./${tika.lib} ./${ictclas4j.lib} ./${CJFtransform.lib} 
./${commons-validator.lib} ./${commons.lang.lib} ./${jna.lib}" />
+                               <attribute name="Class-Path" 
value="./LanguageTool.jar ./ ./resource ./rules ./${morfologik.fsa.lib} 
./${morfologik.stemming.lib} ./${morfologik.speller.lib} ./jWordSplitter.jar 
./${segment.lib} ./${logging.lib} ./${tika.lib} ./${ictclas4j.lib} 
./${CJFtransform.lib} ./${commons-validator.lib} ./${commons.lang.lib} 
./${jna.lib}" />
                                <attribute name="Implementation-Version" 
value="${version}" />
                                <attribute name="Implementation-Date" 
value="${date}" />
                        </manifest>
@@ -501,6 +502,7 @@
 
        <copy file="${ext.morfologik.fsa.lib}" todir="${dist.dir}" />
        <copy file="${ext.morfologik.stemming.lib}" todir="${dist.dir}" />
+       <copy file="${ext.morfologik.speller.lib}" todir="${dist.dir}" />
        <copy file="${ext.jwordsplitter.lib}" todir="${dist.dir}" />
        <copy file="${ext.segment.lib}" todir="${dist.dir}" />
        <copy file="${ext.logging.lib}" todir="${dist.dir}" />
@@ -596,7 +598,8 @@
 
        <copy file="${resource.dir}/pl/polish.dict" 
todir="${dist.dir}/resource/pl" />
        <copy file="${resource.dir}/pl/polish.info" 
todir="${dist.dir}/resource/pl" />
-       <copy file="${resource.dir}/pl/polish_synth.dict" 
todir="${dist.dir}/resource/pl" />
+
+       <copy file="${resource.dir}/pl/polish_synth.dict" 
todir="${dist.dir}/resource/pl" />    
        <copy file="${resource.dir}/pl/polish_synth.info" 
todir="${dist.dir}/resource/pl" />
        <copy file="${resource.dir}/pl/polish_tags.txt" 
todir="${dist.dir}/resource/pl" />
        <copy file="${resource.dir}/pl/compounds.txt" 
todir="${dist.dir}/resource/pl" />

Modified: trunk/JLanguageTool/jnlp/LanguageTool.jnlp
===================================================================
(Binary files differ)

Modified: trunk/JLanguageTool/jnlp/LanguageToolServer.jnlp
===================================================================
--- trunk/JLanguageTool/jnlp/LanguageToolServer.jnlp    2012-06-14 22:42:04 UTC 
(rev 7347)
+++ trunk/JLanguageTool/jnlp/LanguageToolServer.jnlp    2012-06-15 09:53:09 UTC 
(rev 7348)
@@ -26,6 +26,7 @@
                <j2se version="1.6+" />
                <jar href="@morfologik.stemming.lib@" />
                <jar href="@morfologik.fsa.lib@" />
+               <jar href="@morfologik.speller.lib@" />
                <jar href="@tika.lib@" />
                <jar href="@segment.lib@" />
                <jar href="@logging.lib@" />

Added: trunk/JLanguageTool/libs/morfologik-speller-1.5.4.jar
===================================================================
(Binary files differ)


Property changes on: trunk/JLanguageTool/libs/morfologik-speller-1.5.4.jar
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Modified: trunk/JLanguageTool/src/java/org/languagetool/gui/Main.java
===================================================================
--- trunk/JLanguageTool/src/java/org/languagetool/gui/Main.java 2012-06-14 
22:42:04 UTC (rev 7347)
+++ trunk/JLanguageTool/src/java/org/languagetool/gui/Main.java 2012-06-15 
09:53:09 UTC (rev 7348)
@@ -25,6 +25,7 @@
 import org.languagetool.rules.Rule;
 import org.languagetool.rules.RuleMatch;
 import org.languagetool.rules.spelling.hunspell.HunspellRule;
+import org.languagetool.rules.spelling.morfologik.MorfologikSpellerRule;
 import org.languagetool.server.HTTPServer;
 import org.languagetool.server.PortBindingException;
 import org.languagetool.tools.StringTools;
@@ -563,7 +564,8 @@
         final String repl = 
StringTools.listToString(match.getSuggestedReplacements(), "; ");
         sb.append("<b>" + messages.getString("correctionMessage") + "</b> " + 
repl + "<br>\n");
       }
-      if (match.getRule().getId().equals(HunspellRule.RULE_ID)) {
+      if (match.getRule().getId().equals(HunspellRule.RULE_ID)
+              || 
match.getRule().getId().equals(MorfologikSpellerRule.RULE_ID)) {
         contextTools.setErrorMarkerStart(HUNSPELL_ERROR_MARKER_START);
       } else {
         contextTools.setErrorMarkerStart(LT_ERROR_MARKER_START);

Modified: trunk/JLanguageTool/src/java/org/languagetool/language/Polish.java
===================================================================
--- trunk/JLanguageTool/src/java/org/languagetool/language/Polish.java  
2012-06-14 22:42:04 UTC (rev 7347)
+++ trunk/JLanguageTool/src/java/org/languagetool/language/Polish.java  
2012-06-15 09:53:09 UTC (rev 7348)
@@ -37,6 +37,8 @@
 import org.languagetool.tokenizers.SentenceTokenizer;
 import org.languagetool.tokenizers.SRXSentenceTokenizer;
 
+import org.languagetool.rules.spelling.morfologik.pl.*;
+
 public class Polish extends Language {
 
   private static final Unifier POLISH_UNIFIER = new Unifier();
@@ -119,12 +121,14 @@
     return Arrays.asList(
             CommaWhitespaceRule.class,
             DoublePunctuationRule.class,
-            HunspellRule.class,
+            // the slowest hunspell dictionary...
+            // HunspellRule.class, 
             UppercaseSentenceStartRule.class,
             WordRepeatRule.class,
             WhitespaceRule.class,
             // specific to Polish:
             PolishUnpairedBracketsRule.class,
+            MorfologikPolishSpellerRule.class,
             PolishWordRepeatRule.class,
             CompoundRule.class,
             SimpleReplaceRule.class            

Modified: trunk/JLanguageTool/src/java/org/languagetool/openoffice/Main.java
===================================================================
--- trunk/JLanguageTool/src/java/org/languagetool/openoffice/Main.java  
2012-06-14 22:42:04 UTC (rev 7347)
+++ trunk/JLanguageTool/src/java/org/languagetool/openoffice/Main.java  
2012-06-15 09:53:09 UTC (rev 7348)
@@ -68,6 +68,7 @@
 import org.languagetool.gui.Configuration;
 import org.languagetool.rules.RuleMatch;
 import org.languagetool.rules.spelling.hunspell.HunspellRule;
+import org.languagetool.rules.spelling.morfologik.MorfologikSpellerRule;
 import org.languagetool.tools.StringTools;
 import org.languagetool.tools.Tools;
 
@@ -286,6 +287,7 @@
             langTool.activateDefaultPatternRules();
             langTool.activateDefaultFalseFriendRules();
             langTool.disableRule(HunspellRule.RULE_ID);
+            langTool.disableRule(MorfologikSpellerRule.RULE_ID);
             recheck = false;
           } catch (final Throwable t) {
             showError(t);
@@ -507,6 +509,7 @@
     if (lang == null) {
       return;
     }
+    prepareConfig(lang);
     final ConfigThread configThread = new ConfigThread(lang, config, this);
     configThread.start();
   }

Added: 
trunk/JLanguageTool/src/java/org/languagetool/rules/spelling/morfologik/MorfologikSpellerRule.java
===================================================================
--- 
trunk/JLanguageTool/src/java/org/languagetool/rules/spelling/morfologik/MorfologikSpellerRule.java
                          (rev 0)
+++ 
trunk/JLanguageTool/src/java/org/languagetool/rules/spelling/morfologik/MorfologikSpellerRule.java
  2012-06-15 09:53:09 UTC (rev 7348)
@@ -0,0 +1,96 @@
+package org.languagetool.rules.spelling.morfologik;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Locale;
+import java.util.ResourceBundle;
+
+import org.languagetool.AnalyzedSentence;
+import org.languagetool.AnalyzedTokenReadings;
+import org.languagetool.JLanguageTool;
+import org.languagetool.Language;
+import org.languagetool.rules.Category;
+import org.languagetool.rules.RuleMatch;
+import org.languagetool.rules.spelling.SpellingCheckRule;
+import org.languagetool.tools.StringTools;
+
+import morfologik.speller.Speller;
+import morfologik.stemming.Dictionary;
+
+public abstract class MorfologikSpellerRule extends SpellingCheckRule {
+
+    protected Speller speller;
+    
+    private Locale conversionLocale = Locale.getDefault();
+    
+    /**
+     * Get the filename, e.g., <tt>/resource/pl/spelling.dict</tt>.
+     */
+    public abstract String getFileName();
+    
+    public static final String RULE_ID = "MORFOLOGIK_RULE";
+    
+    public MorfologikSpellerRule(ResourceBundle messages, Language language) {
+        super(messages, language);
+        super.setCategory(new Category(messages.getString("category_typo")));
+    }
+
+    @Override
+    public String getId() {
+        return RULE_ID;
+    }
+
+    @Override
+    public String getDescription() {
+        return messages.getString("desc_spelling");
+    }
+    
+    public void setLocale(Locale locale) {
+        conversionLocale = locale;
+      }
+    
+    @Override
+    public RuleMatch[] match(AnalyzedSentence text) throws IOException {
+        
+        final List<RuleMatch> ruleMatches = new ArrayList<RuleMatch>();
+        final AnalyzedTokenReadings[] tokens = 
text.getTokensWithoutWhitespace();
+        //lazy init
+        if (speller == null) {                                   
+            if (JLanguageTool.getDataBroker().resourceExists(getFileName())) {
+                final URL url = 
JLanguageTool.getDataBroker().getFromResourceDirAsUrl(getFileName());
+                speller = new Speller(Dictionary.read(url));
+            } else {
+                return toRuleMatchArray(ruleMatches);
+            }
+        }
+        for (AnalyzedTokenReadings token : tokens) {
+            final String word = token.getToken();
+            boolean isAlphabetic = true;
+            if (word.length() == 1) { // dictionaries usually do not contain 
punctuation               
+                isAlphabetic = StringTools.isAlphabetic(word.charAt(0));
+              }              
+            if (word.length() > 0 && isAlphabetic && !token.isImmunized()
+                    && !speller.isInDictionary(word)
+                    && 
!speller.isInDictionary(word.toLowerCase(conversionLocale))) {
+                final List<String> suggestions = new ArrayList<String>();      
          
+                suggestions.addAll(speller.findReplacements(word));
+                if (!word.toLowerCase(conversionLocale).equals(word)) {
+                    
suggestions.addAll(speller.findReplacements(word.toLowerCase(conversionLocale)));
+                }
+                suggestions.addAll(speller.replaceRunOnWords(word));
+                final RuleMatch ruleMatch = new RuleMatch(this, 
+                        token.getStartPos(), token.getStartPos() + 
word.length(),
+                        messages.getString("spelling"),
+                        messages.getString("desc_spelling_short"));
+                if (!suggestions.isEmpty()) {
+                    ruleMatch.setSuggestedReplacements(suggestions);
+                }
+                ruleMatches.add(ruleMatch);
+            }
+        }
+        return toRuleMatchArray(ruleMatches);
+    }
+
+}


Property changes on: 
trunk/JLanguageTool/src/java/org/languagetool/rules/spelling/morfologik/MorfologikSpellerRule.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: 
trunk/JLanguageTool/src/java/org/languagetool/rules/spelling/morfologik/pl/MorfologikPolishSpellerRule.java
===================================================================
--- 
trunk/JLanguageTool/src/java/org/languagetool/rules/spelling/morfologik/pl/MorfologikPolishSpellerRule.java
                         (rev 0)
+++ 
trunk/JLanguageTool/src/java/org/languagetool/rules/spelling/morfologik/pl/MorfologikPolishSpellerRule.java
 2012-06-15 09:53:09 UTC (rev 7348)
@@ -0,0 +1,23 @@
+package org.languagetool.rules.spelling.morfologik.pl;
+
+import java.util.ResourceBundle;
+
+import org.languagetool.Language;
+import org.languagetool.rules.spelling.morfologik.MorfologikSpellerRule;
+
+public final class MorfologikPolishSpellerRule extends MorfologikSpellerRule {
+
+    //simplistic!
+    private static final String RESOURCE_FILENAME = "/pl/hunspell/pl_PL.dict";
+    
+    public MorfologikPolishSpellerRule(ResourceBundle messages,
+            Language language) {
+        super(messages, language);
+    }
+
+    @Override
+    public String getFileName() {
+        return RESOURCE_FILENAME;
+    }
+
+}


Property changes on: 
trunk/JLanguageTool/src/java/org/languagetool/rules/spelling/morfologik/pl/MorfologikPolishSpellerRule.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: trunk/JLanguageTool/src/resource/pl/hunspell/pl_PL.dict
===================================================================
(Binary files differ)


Property changes on: trunk/JLanguageTool/src/resource/pl/hunspell/pl_PL.dict
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/JLanguageTool/src/resource/pl/hunspell/pl_PL.info
===================================================================
--- trunk/JLanguageTool/src/resource/pl/hunspell/pl_PL.info                     
        (rev 0)
+++ trunk/JLanguageTool/src/resource/pl/hunspell/pl_PL.info     2012-06-15 
09:53:09 UTC (rev 7348)
@@ -0,0 +1,9 @@
+#
+# Dictionary properties.
+#
+
+fsa.dict.separator=+
+fsa.dict.encoding=iso-8859-2
+
+fsa.dict.uses-prefixes=false
+fsa.dict.uses-infixes=false
\ No newline at end of file

Modified: trunk/JLanguageTool/src/test/org/languagetool/JLanguageToolTest.java
===================================================================
--- trunk/JLanguageTool/src/test/org/languagetool/JLanguageToolTest.java        
2012-06-14 22:42:04 UTC (rev 7347)
+++ trunk/JLanguageTool/src/test/org/languagetool/JLanguageToolTest.java        
2012-06-15 09:53:09 UTC (rev 7348)
@@ -141,7 +141,7 @@
     assertEquals(6, matches.size());
     tool.setListUnknownWords(true);
     matches = tool.check("This is not a Polish text.");
-    assertEquals(3, matches.size());
+    assertEquals(4, matches.size());
     assertEquals("[Polish, This, is, text]", 
tool.getUnknownWords().toString());
     //check positions relative to sentence ends    
     matches = tool.check("To jest tekst.\nTest 1. To jest linia w której nie 
ma przecinka.");

Modified: trunk/JLanguageTool/src/test/org/languagetool/MainTest.java
===================================================================
--- trunk/JLanguageTool/src/test/org/languagetool/MainTest.java 2012-06-14 
22:42:04 UTC (rev 7347)
+++ trunk/JLanguageTool/src/test/org/languagetool/MainTest.java 2012-06-15 
09:53:09 UTC (rev 7348)
@@ -205,13 +205,13 @@
            final String test = "Zwuasdac?";
            final byte[] b = test.getBytes();
            System.setIn(new ByteArrayInputStream(b));
-           String[] args = new String[] {"-l", "pl", "-e", "HUNSPELL_RULE", 
"-"};
+           String[] args = new String[] {"-l", "pl", "-e", "MORFOLOGIK_RULE", 
"-"};
 
            Main.main(args);
            String output = new String(this.out.toByteArray());
            assertTrue(output.indexOf("Expected text language: Polish") == 0);
            assertTrue(output.contains("Working on STDIN..."));
-           assertTrue(output.contains("1.) Line 1, column 1, Rule ID: 
HUNSPELL_RULE"));
+           assertTrue(output.contains("1.) Line 1, column 1, Rule ID: 
MORFOLOGIK_RULE"));
          }
 
   

Modified: 
trunk/JLanguageTool/src/test/org/languagetool/rules/HunspellRuleTest.java
===================================================================
--- trunk/JLanguageTool/src/test/org/languagetool/rules/HunspellRuleTest.java   
2012-06-14 22:42:04 UTC (rev 7347)
+++ trunk/JLanguageTool/src/test/org/languagetool/rules/HunspellRuleTest.java   
2012-06-15 09:53:09 UTC (rev 7348)
@@ -35,30 +35,8 @@
   @Test
   public void testRule() throws Exception {
 
-    HunspellRule rule =
-            new HunspellRule(TestTools.getMessages("Polish"), Language.POLISH);
-
     RuleMatch[] matches;
-    JLanguageTool langTool = new JLanguageTool(Language.POLISH);
-
-
-    // correct sentences:
-    assertEquals(0, rule.match(langTool.getAnalyzedSentence("To jest test bez 
jakiegokolwiek błędu.")).length);
-    assertEquals(0, rule.match(langTool.getAnalyzedSentence("Żółw na starość 
wydziela dziwną woń.")).length);
-    assertEquals(0, rule.match(langTool.getAnalyzedSentence(",")).length);
-
-    //incorrect sentences:
-
-    matches = rule.match(langTool.getAnalyzedSentence("Zolw"));
-    // check match positions:
-    assertEquals(1, matches.length);
-    assertEquals(0, matches[0].getFromPos());
-    assertEquals(4, matches[0].getToPos());
-    assertEquals("Żółw", matches[0].getSuggestedReplacements().get(0));
-
-    assertEquals(1, rule.match(langTool.getAnalyzedSentence("aõh")).length);
-    assertEquals(0, rule.match(langTool.getAnalyzedSentence("a")).length);
-
+      
     // Catalan
     HunspellRule catRule =
                new HunspellRule(TestTools.getMessages("Catalan"), 
Language.CATALAN);

Added: 
trunk/JLanguageTool/src/test/org/languagetool/rules/pl/MorfologikPolishSpellerRuleTest.java
===================================================================
--- 
trunk/JLanguageTool/src/test/org/languagetool/rules/pl/MorfologikPolishSpellerRuleTest.java
                         (rev 0)
+++ 
trunk/JLanguageTool/src/test/org/languagetool/rules/pl/MorfologikPolishSpellerRuleTest.java
 2012-06-15 09:53:09 UTC (rev 7348)
@@ -0,0 +1,44 @@
+package org.languagetool.rules.pl;
+
+import static org.junit.Assert.*;
+
+import java.io.IOException;
+
+import org.junit.Test;
+import org.languagetool.JLanguageTool;
+import org.languagetool.Language;
+import org.languagetool.TestTools;
+import org.languagetool.rules.RuleMatch;
+import 
org.languagetool.rules.spelling.morfologik.pl.MorfologikPolishSpellerRule;
+
+public class MorfologikPolishSpellerRuleTest {
+
+    @Test
+    public void testMorfologikSpeller() throws IOException {
+        MorfologikPolishSpellerRule rule =
+                new MorfologikPolishSpellerRule 
(TestTools.getMessages("Polish"), Language.POLISH);
+
+        RuleMatch[] matches;
+        JLanguageTool langTool = new JLanguageTool(Language.POLISH);
+
+
+        // correct sentences:
+        assertEquals(0, rule.match(langTool.getAnalyzedSentence("To jest test 
bez jakiegokolwiek błędu.")).length);
+        assertEquals(0, rule.match(langTool.getAnalyzedSentence("Żółw na 
starość wydziela dziwną woń.")).length);
+        assertEquals(0, rule.match(langTool.getAnalyzedSentence(",")).length);
+
+        //incorrect sentences:
+
+        matches = rule.match(langTool.getAnalyzedSentence("Zolw"));
+        // check match positions:
+        assertEquals(1, matches.length);
+        assertEquals(0, matches[0].getFromPos());
+        assertEquals(4, matches[0].getToPos());
+        assertEquals("Zolą", matches[0].getSuggestedReplacements().get(0));
+
+        assertEquals(1, 
rule.match(langTool.getAnalyzedSentence("aõh")).length);
+        assertEquals(0, rule.match(langTool.getAnalyzedSentence("a")).length);
+
+    }
+
+}


Property changes on: 
trunk/JLanguageTool/src/test/org/languagetool/rules/pl/MorfologikPolishSpellerRuleTest.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Languagetool-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/languagetool-cvs

Reply via email to