summaryrefslogtreecommitdiffstats
path: root/JLanguageTool/src/test/de/danielnaber/languagetool/rules/fr/QuestionWhitespaceRuleTest.java
blob: 159e4d02c0abfc01e3a6cb69ab055ca32f808ba6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
  /* LanguageTool, a natural language style checker 
   * Copyright (C) 2005 Daniel Naber (http://www.danielnaber.de)
   * 
   * This library is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
   * This library is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
   * License along with this library; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301
   * USA
   */

package de.danielnaber.languagetool.rules.fr;
import java.io.IOException;

import junit.framework.TestCase;
import de.danielnaber.languagetool.JLanguageTool;
import de.danielnaber.languagetool.Language;
import de.danielnaber.languagetool.TestTools;
import de.danielnaber.languagetool.rules.RuleMatch;


/**
 * @author Marcin Miłkowski
 */

public class QuestionWhitespaceRuleTest extends TestCase {

  

    public final void testRule() throws IOException {
      QuestionWhitespaceRule rule = new QuestionWhitespaceRule(TestTools.getEnglishMessages());
      RuleMatch[] matches;
      JLanguageTool langTool = new JLanguageTool(Language.FRENCH);
      
      // correct sentences:
      assertEquals(0, rule.match(langTool.getAnalyzedSentence("C'est vrai !")).length);
      assertEquals(0, rule.match(langTool.getAnalyzedSentence("Qu'est ce que c'est ?")).length);
      assertEquals(0, rule.match(langTool.getAnalyzedSentence("L'enjeu de ce livre est donc triple : philosophique")).length);
      
      // errors:
      matches = rule.match(langTool.getAnalyzedSentence("C'est vrai!"));
      assertEquals(1, matches.length);
      matches = rule.match(langTool.getAnalyzedSentence("C'est vrai !"));
      assertEquals(1, matches.length);
      matches = rule.match(langTool.getAnalyzedSentence("Qu'est ce que c'est ?"));
      assertEquals(1, matches.length);
      matches = rule.match(langTool.getAnalyzedSentence("Qu'est ce que c'est?"));
      assertEquals(1, matches.length);
      matches = rule.match(langTool.getAnalyzedSentence("L'enjeu de ce livre est donc triple: philosophique;"));
      assertEquals(2, matches.length);
      matches = rule.match(langTool.getAnalyzedSentence("L'enjeu de ce livre est donc triple: philosophique ;"));
      assertEquals(2, matches.length);
      // check match positions:
      assertEquals(2, matches.length);
      assertEquals(29, matches[0].getFromPos());
      assertEquals(36, matches[0].getToPos());
      assertEquals(50, matches[1].getFromPos());
      assertEquals(52, matches[1].getToPos());
      //guillemets
      matches = rule.match(langTool.getAnalyzedSentence("Le guillemet ouvrant est suivi d'un espace insécable : « mais le lieu [...] et le guillemet fermant est précédé d'un espace insécable : [...] littérature »."));
      assertEquals(2, matches.length);
      matches = rule.match(langTool.getAnalyzedSentence("Le guillemet ouvrant est suivi d'un espace insécable : «mais le lieu [...] et le guillemet fermant est précédé d'un espace insécable : [...] littérature»."));
      assertEquals(2, matches.length);
    }
    
  }