File: test_orthography.py

package info (click to toggle)
plover 4.0.0~dev10-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 12,644 kB
  • sloc: python: 17,030; sh: 664; ansic: 25; makefile: 19
file content (146 lines) | stat: -rw-r--r-- 6,225 bytes parent folder | download | duplicates (2)
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
# Copyright (c) 2013 Hesky Fisher
# See LICENSE.txt for details.

from plover.orthography import add_suffix

from plover_build_utils.testing import parametrize


ADD_SUFFIX_TESTS = (
    lambda: ('artistic', 'ly', 'artistically'),
    lambda: ('cosmetic', 'ly', 'cosmetically'),
    lambda: ('establish', 's', 'establishes'),
    lambda: ('speech', 's', 'speeches'),
    lambda: ('approach', 's', 'approaches'),
    lambda: ('beach', 's', 'beaches'),
    lambda: ('arch', 's', 'arches'),
    lambda: ('larch', 's', 'larches'),
    lambda: ('march', 's', 'marches'),
    lambda: ('search', 's', 'searches'),
    lambda: ('starch', 's', 'starches'),
    lambda: ('stomach', 's', 'stomachs'),
    lambda: ('monarch', 's', 'monarchs'),
    lambda: ('patriarch', 's', 'patriarchs'),
    lambda: ('oligarch', 's', 'oligarchs'),
    lambda: ('cherry', 's', 'cherries'),
    lambda: ('day', 's', 'days'),
    lambda: ('penny', 's', 'pennies'),
    lambda: ('pharmacy', 'ist', 'pharmacist'),
    lambda: ('melody', 'ist', 'melodist'),
    lambda: ('pacify', 'ist', 'pacifist'),
    lambda: ('geology', 'ist', 'geologist'),
    lambda: ('metallurgy', 'ist', 'metallurgist'),
    lambda: ('anarchy', 'ist', 'anarchist'),
    lambda: ('monopoly', 'ist', 'monopolist'),
    lambda: ('alchemy', 'ist', 'alchemist'),
    lambda: ('botany', 'ist', 'botanist'),
    lambda: ('therapy', 'ist', 'therapist'),
    lambda: ('theory', 'ist', 'theorist'),
    lambda: ('psychiatry', 'ist', 'psychiatrist'),
    lambda: ('lobby', 'ist', 'lobbyist'),
    lambda: ('hobby', 'ist', 'hobbyist'),
    lambda: ('copy', 'ist', 'copyist'),
    lambda: ('beauty', 'ful', 'beautiful'),
    lambda: ('weary', 'ness', 'weariness'),
    lambda: ('weary', 'some', 'wearisome'),
    lambda: ('lonely', 'ness', 'loneliness'),
    lambda: ('narrate', 'ing', 'narrating'),
    lambda: ('narrate', 'or', 'narrator'),
    lambda: ('generalize', 'ability', 'generalizability'),
    lambda: ('reproduce', 'able', 'reproducible'),
    lambda: ('grade', 'ations', 'gradations'),
    lambda: ('urine', 'ary', 'urinary'),
    lambda: ('achieve', 'able', 'achievable'),
    lambda: ('polarize', 'ation', 'polarization'),
    lambda: ('done', 'or', 'donor'),
    lambda: ('analyze', 'ed', 'analyzed'),
    lambda: ('narrate', 'ing', 'narrating'),
    lambda: ('believe', 'able', 'believable'),
    lambda: ('animate', 'ors', 'animators'),
    lambda: ('discontinue', 'ation', 'discontinuation'),
    lambda: ('innovate', 'ive', 'innovative'),
    lambda: ('future', 'ists', 'futurists'),
    lambda: ('illustrate', 'or', 'illustrator'),
    lambda: ('emerge', 'ent', 'emergent'),
    lambda: ('equip', 'ed', 'equipped'),
    lambda: ('defer', 'ed', 'deferred'),
    lambda: ('defer', 'er', 'deferrer'),
    lambda: ('defer', 'ing', 'deferring'),
    lambda: ('pigment', 'ed', 'pigmented'),
    lambda: ('refer', 'ed', 'referred'),
    lambda: ('fix', 'ed', 'fixed'),
    lambda: ('alter', 'ed', 'altered'),
    lambda: ('interpret', 'ing', 'interpreting'),
    lambda: ('wonder', 'ing', 'wondering'),
    lambda: ('target', 'ing', 'targeting'),
    lambda: ('limit', 'er', 'limiter'),
    lambda: ('maneuver', 'ing', 'maneuvering'),
    lambda: ('monitor', 'ing', 'monitoring'),
    lambda: ('color', 'ing', 'coloring'),
    lambda: ('inhibit', 'ing', 'inhibiting'),
    lambda: ('master', 'ed', 'mastered'),
    lambda: ('target', 'ing', 'targeting'),
    lambda: ('fix', 'ed', 'fixed'),
    lambda: ('scrap', 'y', 'scrappy'),
    lambda: ('trip', 's', 'trips'),
    lambda: ('equip', 's', 'equips'),
    lambda: ('bat', 'en', 'batten'),
    lambda: ('smite', 'en', 'smitten'),
    lambda: ('got', 'en', 'gotten'),
    lambda: ('bite', 'en', 'bitten'),
    lambda: ('write', 'en', 'written'),
    lambda: ('flax', 'en', 'flaxen'),
    lambda: ('wax', 'en', 'waxen'),
    lambda: ('fast', 'est', 'fastest'),
    lambda: ('white', 'er', 'whiter'),
    lambda: ('crap', 'y', 'crappy'),
    lambda: ('lad', 'er', 'ladder'),
    lambda: ('translucent', 'cy', 'translucency'),
    lambda: ('bankrupt', 'cy', 'bankruptcy'),
    lambda: ('inadequate', 'cy', 'inadequacy'),
    lambda: ('secret', 'cy', 'secrecy'),
    lambda: ('impolite', 'cy', 'impolicy'),
    lambda: ('idiot', 'cy', 'idiocy'),
    lambda: ('free', 'ed', 'freed'),
    lambda: ('free', 'er', 'freer'),
    lambda: ('regulate', 'ry', 'regulatory'),
    lambda: ('humble', 'ly', 'humbly'),
    lambda: ('questionable', 'ly', 'questionably'),
    lambda: ('triple', 'ly', 'triply'),
    lambda: ('statute', 'ry', 'statutory'),
    lambda: ('statute', 'ary', 'statutory'),
    lambda: ('confirm', 'tory', 'confirmatory'),
    lambda: ('supervise', 'ary', 'supervisory'),
    lambda: ('Minessota', 'en', 'Minessotan'),
    lambda: ('ceremony', 'ial', 'ceremonial'),
    lambda: ('editor', 'ial', 'editorial'),
    lambda: ('editor', 'ially', 'editorially'),
    lambda: ('spaghetti', 'ification', 'spaghettification'),
    lambda: ('fantastic', 'ical', 'fantastical'),
    lambda: ('epistomology', 'ical', 'epistomological'),
    lambda: ('oratory', 'ical', 'oratorical'),
    lambda: ('radical', 'ist', 'radicalist'),
    lambda: ('complementary', 'ity', 'complementarity'),
    lambda: ('disproportional', 'ity', 'disproportionality'),
    lambda: ('perform', 'tive', 'performative'),
    lambda: ('restore', 'tive', 'restorative'),
    lambda: ('token', 'ize', 'tokenize'),
    lambda: ('token', 'ise', 'tokenise'),
    lambda: ('conditional', 'ize', 'conditionalize'),
    lambda: ('conditional', 'isation', 'conditionalisation'),
    lambda: ('spectacular', 'ization', 'spectacularization'),
    lambda: ('spectacular', 'ism', 'spectacularism'),
    lambda: ('category', 'ize', 'categorize'),
    lambda: ('category', 'ise', 'categorise'),
    lambda: ('custom', 'izable', 'customizable'),
    lambda: ('custom', 'isable', 'customisable'),
    lambda: ('fantasy', 'ize', 'fantasize'),
    lambda: ('criminal', 'ology', 'criminology'),
    lambda: ('criminal', 'ologist', 'criminologist'),
    lambda: ('dermatology', 'ist', 'dermatologist'),
    lambda: ('similar', 'ish', 'similarish'),
)

@parametrize(ADD_SUFFIX_TESTS)
def test_add_suffix(word, suffix, expected):
    assert add_suffix(word, suffix) == expected