summaryrefslogtreecommitdiffstats
path: root/languagetool/src/EnglishTest.py
blob: 358d26c132e0cd74e4da66908648e6ebf50a049a (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
# -*- coding: iso-8859-1 -*-
#
# LanguageTool -- A Rule-Based Style and Grammar Checker
# Copyright (C) 2002,2003,2004 Daniel Naber <daniel.naber@t-online.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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

import TextChecker
import LanguageTest
from LanguageTest import ExpMatch

class EnglishTestCase(LanguageTest.LanguageTest):

	def setUp(self):
		self.checker = TextChecker.TextChecker(grammar=None, falsefriends=None, \
			words=None, builtin=None, textlanguage="en", mothertongue="de", \
			max_sentence_length=20, debug_mode=0)
		return
		
	def testSomeRules(self):
		"""Some English rule checks. Requires a trained tagger."""

		self._check("A sentence without problems.", None)
		self._check("This is bigger then blah.", ExpMatch("COMP_THAN", 15, 19))
		self._check("English/German false friend: my chef", ExpMatch("CHEF", 32, 36))
		self._check("Whitespace,here it's lacking.", ExpMatch("WHITESPACE", 11, 12))
		
		self._check("he good good.", ExpMatch("WORD_REPEAT", 7, 12))

		self._check("I ask you because of him.", None)
		self._check("Of cause not.", ExpMatch("OF_CAUSE", 3, 8))
		self._check("he is nice.", None)
		
		self._check("This is a stoopid test.", None)
		# TODO: error not detected:
		self._check("The baseball team are established.", None)
		
		self._check("I definitely think is should be less than four years.", 
			ExpMatch("IS_SHOULD", 19, 21))
			
		self._check("Peter's car is bigger then mine, and this isa spelling error.",
			ExpMatch("COMP_THAN", 22, 26))

		self._check("Peter's car is bigger then mine, and and a word repeat.",
			[ExpMatch("COMP_THAN", 22, 26), ExpMatch("WORD_REPEAT", 34, 38)])

		return

if __name__ == "__main__":
	unittest.main()