1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
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
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
#! python3
"""
Grammar checker tests for French language
"""
import unittest
import time
from contextlib import contextmanager
from ..graphspell.ibdawg import IBDAWG
from . import conj
from . import phonet
from . import mfsp
@contextmanager
def timeblock (label, hDst=None):
"performance counter (contextmanager)"
start = time.perf_counter()
try:
yield
finally:
end = time.perf_counter()
print('{} : {}'.format(label, end - start))
if hDst:
hDst.write("{:<12.6}".format(end-start))
class TestDictionary (unittest.TestCase):
"Test du correcteur orthographique"
@classmethod
def setUpClass (cls):
cls.oDic = IBDAWG("${dic_main_filename_py}")
|
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
+
+
+
+
+
|
for sWord in ["Branche", "branche", "BRANCHE", "Émilie", "ÉMILIE", "aujourd'hui", "aujourd’hui", "Aujourd'hui", "Aujourd’hui"]:
self.assertTrue(self.oDic.isValid(sWord), sWord)
def test_isvalid_failed (self):
for sWord in ["BranchE", "BRanche", "BRAnCHE", "émilie", "éMILIE", "émiLie"]:
self.assertFalse(self.oDic.isValid(sWord), sWord)
def test_suggest (self):
for sWord in ["déelirranttesss", "vallidasion", "Emilie", "exibission"]:
with timeblock(sWord):
self.assertNotEqual(0, self.oDic.suggest(sWord))
class TestConjugation (unittest.TestCase):
"Tests des conjugaisons"
@classmethod
def setUpClass (cls):
pass
|