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
|