linguistics 1.0.9 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data.tar.gz.sig +0 -0
- data/.gemtest +0 -0
- data/ChangeLog +849 -342
- data/History.rdoc +11 -0
- data/LICENSE +9 -9
- data/Manifest.txt +44 -0
- data/README.rdoc +226 -0
- data/Rakefile +32 -349
- data/examples/endocs.rb +272 -0
- data/examples/generalize_sentence.rb +2 -1
- data/examples/klingon.rb +22 -0
- data/lib/linguistics.rb +130 -292
- data/lib/linguistics/en.rb +337 -1628
- data/lib/linguistics/en/articles.rb +138 -0
- data/lib/linguistics/en/conjugation.rb +2245 -0
- data/lib/linguistics/en/conjunctions.rb +202 -0
- data/lib/linguistics/en/{infinitive.rb → infinitives.rb} +41 -55
- data/lib/linguistics/en/linkparser.rb +41 -49
- data/lib/linguistics/en/numbers.rb +483 -0
- data/lib/linguistics/en/participles.rb +33 -0
- data/lib/linguistics/en/pluralization.rb +810 -0
- data/lib/linguistics/en/stemmer.rb +75 -0
- data/lib/linguistics/en/titlecase.rb +121 -0
- data/lib/linguistics/en/wordnet.rb +63 -97
- data/lib/linguistics/inflector.rb +89 -0
- data/lib/linguistics/iso639.rb +534 -448
- data/lib/linguistics/languagebehavior.rb +36 -0
- data/lib/linguistics/monkeypatches.rb +42 -0
- data/spec/lib/constants.rb +15 -0
- data/spec/lib/helpers.rb +38 -0
- data/spec/linguistics/en/articles_spec.rb +797 -0
- data/spec/linguistics/en/conjugation_spec.rb +2083 -0
- data/spec/linguistics/en/conjunctions_spec.rb +154 -0
- data/spec/linguistics/en/infinitives_spec.rb +518 -0
- data/spec/linguistics/en/linkparser_spec.rb +66 -0
- data/spec/linguistics/en/numbers_spec.rb +1295 -0
- data/spec/linguistics/en/participles_spec.rb +55 -0
- data/spec/linguistics/en/pluralization_spec.rb +4636 -0
- data/spec/linguistics/en/stemmer_spec.rb +72 -0
- data/spec/linguistics/en/titlecase_spec.rb +841 -0
- data/spec/linguistics/en/wordnet_spec.rb +85 -0
- data/spec/linguistics/en_spec.rb +45 -167
- data/spec/linguistics/inflector_spec.rb +40 -0
- data/spec/linguistics/iso639_spec.rb +49 -53
- data/spec/linguistics/monkeypatches_spec.rb +40 -0
- data/spec/linguistics_spec.rb +46 -76
- metadata +241 -113
- metadata.gz.sig +0 -0
- data/README +0 -166
- data/README.english +0 -245
- data/rake/191_compat.rb +0 -26
- data/rake/dependencies.rb +0 -76
- data/rake/documentation.rb +0 -123
- data/rake/helpers.rb +0 -502
- data/rake/hg.rb +0 -318
- data/rake/manual.rb +0 -787
- data/rake/packaging.rb +0 -129
- data/rake/publishing.rb +0 -341
- data/rake/style.rb +0 -62
- data/rake/svn.rb +0 -668
- data/rake/testing.rb +0 -152
- data/rake/verifytask.rb +0 -64
- data/tests/en/infinitive.tests.rb +0 -207
- data/tests/en/inflect.tests.rb +0 -1389
- data/tests/en/lafcadio.tests.rb +0 -77
- data/tests/en/linkparser.tests.rb +0 -42
- data/tests/en/lprintf.tests.rb +0 -77
- data/tests/en/titlecase.tests.rb +0 -73
- data/tests/en/wordnet.tests.rb +0 -95
@@ -0,0 +1,154 @@
|
|
1
|
+
#!/usr/bin/env spec -cfs
|
2
|
+
|
3
|
+
BEGIN {
|
4
|
+
require 'pathname'
|
5
|
+
basedir = Pathname.new( __FILE__ ).dirname.parent.parent.parent
|
6
|
+
|
7
|
+
libdir = basedir + "lib"
|
8
|
+
|
9
|
+
$LOAD_PATH.unshift( basedir.to_s ) unless $LOAD_PATH.include?( basedir.to_s )
|
10
|
+
$LOAD_PATH.unshift( libdir.to_s ) unless $LOAD_PATH.include?( libdir.to_s )
|
11
|
+
}
|
12
|
+
|
13
|
+
require 'rspec'
|
14
|
+
require 'spec/lib/helpers'
|
15
|
+
|
16
|
+
require 'linguistics'
|
17
|
+
require 'linguistics/en'
|
18
|
+
require 'linguistics/en/conjunctions'
|
19
|
+
|
20
|
+
|
21
|
+
describe Linguistics::EN::Conjunctions do
|
22
|
+
|
23
|
+
before( :all ) do
|
24
|
+
Linguistics.use( :en )
|
25
|
+
setup_logging( :fatal )
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
TEST_ITEMS = %w[cow chicken dog goat dog dog duck duck goose goose goose dog goat]
|
30
|
+
|
31
|
+
it "don't use a penultimate separator if it's turned off" do
|
32
|
+
TEST_ITEMS.en.conjunction( :penultimate => false ).should ==
|
33
|
+
"four dogs, three geese, two goats, two ducks, a cow and a chicken"
|
34
|
+
end
|
35
|
+
|
36
|
+
it "honors the penultimate setting even if there are only three items (bugfix)" do
|
37
|
+
%w[duck cow dog].en.conjunction( :penultimate => false ).should ==
|
38
|
+
"a duck, a cow and a dog"
|
39
|
+
end
|
40
|
+
|
41
|
+
it "uses the supplied block for transformation before building the conjunction" do
|
42
|
+
TEST_ITEMS.en.conjunction {|item| "'%s' animal" % [item[0]] }.should ==
|
43
|
+
"six 'd' animals, five 'g' animals, and two 'c' animals"
|
44
|
+
end
|
45
|
+
|
46
|
+
it "uses the alternative separator if one or more phrases include the primary one" do
|
47
|
+
scene_items = [
|
48
|
+
"desk with stamps, paper, and envelopes on it",
|
49
|
+
"basket containing milk, eggs, and broccoli",
|
50
|
+
"chair", "chair", "chair",
|
51
|
+
"wooden chest",
|
52
|
+
"hat rack",
|
53
|
+
]
|
54
|
+
|
55
|
+
scene_items.en.conjunction.should ==
|
56
|
+
"three chairs; a desk with stamps, paper, and envelopes on it; " +
|
57
|
+
"a basket containing milk, eggs, and broccoli; " +
|
58
|
+
"a wooden chest; and a hat rack"
|
59
|
+
end
|
60
|
+
|
61
|
+
|
62
|
+
describe "with an Array of a single element" do
|
63
|
+
|
64
|
+
before( :each ) do
|
65
|
+
@array = ['cat']
|
66
|
+
end
|
67
|
+
|
68
|
+
it "results in a phrase with indefinite article" do
|
69
|
+
@array.en.conjunction.should == "a cat"
|
70
|
+
end
|
71
|
+
|
72
|
+
end
|
73
|
+
|
74
|
+
|
75
|
+
describe "with an Array of two different words" do
|
76
|
+
|
77
|
+
before( :each ) do
|
78
|
+
@array = ['cat', 'dog']
|
79
|
+
end
|
80
|
+
|
81
|
+
it "results in a phrase joined with 'and' with default options" do
|
82
|
+
@array.en.conjunction.should == "a cat and a dog"
|
83
|
+
end
|
84
|
+
|
85
|
+
it "results in a phrase joined with 'plus' if 'plus' is set as the conjunctive" do
|
86
|
+
@array.en.conjunction(:conjunctive => 'plus').should == "a cat plus a dog"
|
87
|
+
end
|
88
|
+
|
89
|
+
it "results in a phrase joined with a space if an empty string is set as the conjunctive" do
|
90
|
+
@array.en.conjunction(:conjunctive => '').should == "a cat a dog"
|
91
|
+
end
|
92
|
+
|
93
|
+
end
|
94
|
+
|
95
|
+
|
96
|
+
describe "with an Array of two words that differ only in case" do
|
97
|
+
|
98
|
+
before( :each ) do
|
99
|
+
@array = ['cat', 'Cat']
|
100
|
+
end
|
101
|
+
|
102
|
+
it "combines them into their downcased equivalents with default options" do
|
103
|
+
@array.en.conjunction.should == "two cats"
|
104
|
+
end
|
105
|
+
|
106
|
+
it "lists them separately if :combine is set to false" do
|
107
|
+
@array.en.conjunction(:combine => false).should == "a cat and a Cat"
|
108
|
+
end
|
109
|
+
|
110
|
+
it "doesn't combine them if :casefold is turned off" do
|
111
|
+
@array.en.conjunction(:casefold => false).should == "a cat and a Cat"
|
112
|
+
end
|
113
|
+
|
114
|
+
it "combines and lists them with a non-specific count if :generalize is set" do
|
115
|
+
@array.en.conjunction(:generalize => true).should == "several cats"
|
116
|
+
end
|
117
|
+
|
118
|
+
end
|
119
|
+
|
120
|
+
|
121
|
+
describe "with an Array of many (more than two) words of varying cases" do
|
122
|
+
|
123
|
+
before( :each ) do
|
124
|
+
@array = %w{cat dog fox dog chicken chicken Fox chicken goose Dog goose}
|
125
|
+
end
|
126
|
+
|
127
|
+
it "combines them into their downcased equivalents and lists them in order of amount " +
|
128
|
+
"with default options" do
|
129
|
+
@array.en.conjunction.should ==
|
130
|
+
'three dogs, three chickens, two foxes, two geese, and a cat'
|
131
|
+
end
|
132
|
+
|
133
|
+
it "lists them separately if :combine is set to false" do
|
134
|
+
@array.en.conjunction(:combine => false).should ==
|
135
|
+
'a cat, a dog, a fox, a dog, a chicken, a chicken, a Fox, a '\
|
136
|
+
'chicken, a goose, a Dog, and a goose'
|
137
|
+
end
|
138
|
+
|
139
|
+
it "doesn't combine the differently-cased ones if :casefold is turned off" do
|
140
|
+
@array.en.conjunction(:casefold => false).should ==
|
141
|
+
'three chickens, two dogs, two geese, a cat, a fox, a Fox, '\
|
142
|
+
'and a Dog'
|
143
|
+
end
|
144
|
+
|
145
|
+
it "combines and lists them with a non-specific count if :generalize is set" do
|
146
|
+
@array.en.conjunction(:generalize => true).should ==
|
147
|
+
'several dogs, several chickens, several foxes, several '\
|
148
|
+
'geese, and a cat'
|
149
|
+
end
|
150
|
+
|
151
|
+
end
|
152
|
+
|
153
|
+
|
154
|
+
end
|
@@ -0,0 +1,518 @@
|
|
1
|
+
#!/usr/bin/env spec -cfs
|
2
|
+
|
3
|
+
BEGIN {
|
4
|
+
require 'pathname'
|
5
|
+
basedir = Pathname.new( __FILE__ ).dirname.parent.parent.parent
|
6
|
+
|
7
|
+
libdir = basedir + "lib"
|
8
|
+
|
9
|
+
$LOAD_PATH.unshift( basedir.to_s ) unless $LOAD_PATH.include?( basedir.to_s )
|
10
|
+
$LOAD_PATH.unshift( libdir.to_s ) unless $LOAD_PATH.include?( libdir.to_s )
|
11
|
+
}
|
12
|
+
|
13
|
+
require 'rspec'
|
14
|
+
require 'spec/lib/helpers'
|
15
|
+
|
16
|
+
require 'linguistics'
|
17
|
+
require 'linguistics/en/infinitives'
|
18
|
+
|
19
|
+
|
20
|
+
describe Linguistics::EN::Infinitives do
|
21
|
+
|
22
|
+
before( :all ) do
|
23
|
+
setup_logging( :fatal )
|
24
|
+
Linguistics.use( :en, :proxy => true )
|
25
|
+
include Linguistics::EN
|
26
|
+
end
|
27
|
+
|
28
|
+
after( :all ) do
|
29
|
+
reset_logging()
|
30
|
+
end
|
31
|
+
|
32
|
+
|
33
|
+
describe "Infinitive object class" do
|
34
|
+
it "compares as equal if its primary word is equal" do
|
35
|
+
Linguistics::EN::Infinitives::Infinitive.new( 'basse', 'bass', 's', '2' ).should ==
|
36
|
+
'basse'
|
37
|
+
end
|
38
|
+
|
39
|
+
it "compares as equal if its secondary word is equal" do
|
40
|
+
Linguistics::EN::Infinitives::Infinitive.new( 'basse', 'bass', 's', '2' ).should ==
|
41
|
+
'bass'
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
|
46
|
+
|
47
|
+
it "uses rule 1 when calculating the infinitive of 'aches'" do
|
48
|
+
"aches".en.infinitive.should == 'ache'
|
49
|
+
"aches".en.infinitive.rule.should == '1'
|
50
|
+
end
|
51
|
+
|
52
|
+
it "uses rule 2 when calculating the infinitive of 'vases'" do
|
53
|
+
"vases".en.infinitive.should == 'vase'
|
54
|
+
"vases".en.infinitive.rule.should == '2'
|
55
|
+
end
|
56
|
+
|
57
|
+
it "uses rule 2 when calculating the infinitive of 'basses'" do
|
58
|
+
"basses".en.infinitive.should == 'bass'
|
59
|
+
"basses".en.infinitive.rule.should == '2'
|
60
|
+
end
|
61
|
+
|
62
|
+
it "uses rule 3 when calculating the infinitive of 'axes'" do
|
63
|
+
"axes".en.infinitive.should == 'axe'
|
64
|
+
"axes".en.infinitive.rule.should == '3'
|
65
|
+
end
|
66
|
+
|
67
|
+
it "uses rule 3 when calculating the infinitive of 'fixes'" do
|
68
|
+
"fixes".en.infinitive.should == 'fix'
|
69
|
+
"fixes".en.infinitive.rule.should == '3'
|
70
|
+
end
|
71
|
+
|
72
|
+
it "uses rule 4 when calculating the infinitive of 'hazes'" do
|
73
|
+
"hazes".en.infinitive.should == 'haze'
|
74
|
+
"hazes".en.infinitive.rule.should == '4'
|
75
|
+
end
|
76
|
+
|
77
|
+
it "uses rule 4 when calculating the infinitive of 'buzzes'" do
|
78
|
+
"buzzes".en.infinitive.should == 'buzz'
|
79
|
+
"buzzes".en.infinitive.rule.should == '4'
|
80
|
+
end
|
81
|
+
|
82
|
+
it "uses rule 6a when calculating the infinitive of 'caress'" do
|
83
|
+
"caress".en.infinitive.should == 'caress'
|
84
|
+
"caress".en.infinitive.rule.should == '6a'
|
85
|
+
end
|
86
|
+
|
87
|
+
it "uses rule 6b when calculating the infinitive of 'bans'" do
|
88
|
+
"bans".en.infinitive.should == 'ban'
|
89
|
+
"bans".en.infinitive.rule.should == '6b'
|
90
|
+
end
|
91
|
+
|
92
|
+
it "uses rule 7 when calculating the infinitive of 'Jones's'" do
|
93
|
+
"Jones's".en.infinitive.should == 'Jones'
|
94
|
+
"Jones's".en.infinitive.rule.should == '7'
|
95
|
+
end
|
96
|
+
|
97
|
+
it "uses rule 8 when calculating the infinitive of 'creater'" do
|
98
|
+
"creater".en.infinitive.should == 'creater'
|
99
|
+
"creater".en.infinitive.rule.should == '8'
|
100
|
+
end
|
101
|
+
|
102
|
+
it "uses rule 9 when calculating the infinitive of 'reacter'" do
|
103
|
+
"reacter".en.infinitive.should == 'reacter'
|
104
|
+
"reacter".en.infinitive.rule.should == '9'
|
105
|
+
end
|
106
|
+
|
107
|
+
it "uses rule 10 when calculating the infinitive of 'copier'" do
|
108
|
+
"copier".en.infinitive.should == 'copy'
|
109
|
+
"copier".en.infinitive.rule.should == '10'
|
110
|
+
end
|
111
|
+
|
112
|
+
it "uses rule 11 when calculating the infinitive of 'baker'" do
|
113
|
+
"baker".en.infinitive.should == 'bake'
|
114
|
+
"baker".en.infinitive.rule.should == '11'
|
115
|
+
end
|
116
|
+
|
117
|
+
it "uses rule 11 when calculating the infinitive of 'smaller'" do
|
118
|
+
"smaller".en.infinitive.should == 'small'
|
119
|
+
"smaller".en.infinitive.rule.should == '11'
|
120
|
+
end
|
121
|
+
|
122
|
+
it "uses rule 12a when calculating the infinitive of 'curried'" do
|
123
|
+
"curried".en.infinitive.should == 'curry'
|
124
|
+
"curried".en.infinitive.rule.should == '12a'
|
125
|
+
end
|
126
|
+
|
127
|
+
it "uses rule 12b when calculating the infinitive of 'bored'" do
|
128
|
+
"bored".en.infinitive.should == 'bore'
|
129
|
+
"bored".en.infinitive.rule.should == '12b'
|
130
|
+
end
|
131
|
+
|
132
|
+
it "uses rule 12b when calculating the infinitive of 'seated'" do
|
133
|
+
"seated".en.infinitive.should == 'seat'
|
134
|
+
"seated".en.infinitive.rule.should == '12b'
|
135
|
+
end
|
136
|
+
|
137
|
+
it "uses rule 12b when calculating the infinitive of 'tipped'" do
|
138
|
+
"tipped".en.infinitive.should == 'tip'
|
139
|
+
"tipped".en.infinitive.rule.should == '12b'
|
140
|
+
end
|
141
|
+
|
142
|
+
it "uses rule 12b when calculating the infinitive of 'kitted'" do
|
143
|
+
"kitted".en.infinitive.should == 'kit'
|
144
|
+
"kitted".en.infinitive.rule.should == '12b'
|
145
|
+
end
|
146
|
+
|
147
|
+
it "uses rule 12b when calculating the infinitive of 'capped'" do
|
148
|
+
"capped".en.infinitive.should == 'cap'
|
149
|
+
"capped".en.infinitive.rule.should == '12b'
|
150
|
+
end
|
151
|
+
|
152
|
+
it "uses rule 12b when calculating the infinitive of 'chopped'" do
|
153
|
+
"chopped".en.infinitive.should == 'chop'
|
154
|
+
"chopped".en.infinitive.rule.should == '12b'
|
155
|
+
end
|
156
|
+
|
157
|
+
it "uses rule 13a when calculating the infinitive of 'flies'" do
|
158
|
+
"flies".en.infinitive.should == 'fly'
|
159
|
+
"flies".en.infinitive.rule.should == '13a'
|
160
|
+
end
|
161
|
+
|
162
|
+
it "uses rule 13b when calculating the infinitive of 'palates'" do
|
163
|
+
"palates".en.infinitive.should == 'palate'
|
164
|
+
"palates".en.infinitive.rule.should == '13b'
|
165
|
+
end
|
166
|
+
|
167
|
+
it "uses rule 14a when calculating the infinitive of 'liveliest'" do
|
168
|
+
"liveliest".en.infinitive.should == 'lively'
|
169
|
+
"liveliest".en.infinitive.rule.should == '14a'
|
170
|
+
end
|
171
|
+
|
172
|
+
it "uses rule 14b when calculating the infinitive of 'wisest'" do
|
173
|
+
"wisest".en.infinitive.should == 'wise'
|
174
|
+
"wisest".en.infinitive.rule.should == '14b'
|
175
|
+
end
|
176
|
+
|
177
|
+
it "uses rule 14b when calculating the infinitive of 'strongest'" do
|
178
|
+
"strongest".en.infinitive.should == 'strong'
|
179
|
+
"strongest".en.infinitive.rule.should == '14b'
|
180
|
+
end
|
181
|
+
|
182
|
+
it "uses rule 15 when calculating the infinitive of 'living'" do
|
183
|
+
"living".en.infinitive.should == 'live'
|
184
|
+
"living".en.infinitive.rule.should == '15'
|
185
|
+
end
|
186
|
+
|
187
|
+
it "uses rule 15 when calculating the infinitive of 'laughing'" do
|
188
|
+
"laughing".en.infinitive.should == 'laugh'
|
189
|
+
"laughing".en.infinitive.rule.should == '15'
|
190
|
+
end
|
191
|
+
|
192
|
+
it "uses rule 15 when calculating the infinitive of 'swaying'" do
|
193
|
+
"swaying".en.infinitive.should == 'sway'
|
194
|
+
"swaying".en.infinitive.rule.should == '15'
|
195
|
+
end
|
196
|
+
|
197
|
+
it "uses rule 15 when calculating the infinitive of 'catching'" do
|
198
|
+
"catching".en.infinitive.should == 'catch'
|
199
|
+
"catching".en.infinitive.rule.should == '15'
|
200
|
+
end
|
201
|
+
|
202
|
+
it "uses rule 15 when calculating the infinitive of 'smiling'" do
|
203
|
+
"smiling".en.infinitive.should == 'smile'
|
204
|
+
"smiling".en.infinitive.rule.should == '15'
|
205
|
+
end
|
206
|
+
|
207
|
+
it "uses rule 15 when calculating the infinitive of 'swimming'" do
|
208
|
+
"swimming".en.infinitive.should == 'swim'
|
209
|
+
"swimming".en.infinitive.rule.should == '15'
|
210
|
+
end
|
211
|
+
|
212
|
+
it "uses rule 15 when calculating the infinitive of 'running'" do
|
213
|
+
"running".en.infinitive.should == 'run'
|
214
|
+
"running".en.infinitive.rule.should == '15'
|
215
|
+
end
|
216
|
+
|
217
|
+
it "uses rule 15 when calculating the infinitive of 'floating'" do
|
218
|
+
"floating".en.infinitive.should == 'float'
|
219
|
+
"floating".en.infinitive.rule.should == '15'
|
220
|
+
end
|
221
|
+
|
222
|
+
it "uses rule 15 when calculating the infinitive of 'keyboarding'" do
|
223
|
+
"keyboarding".en.infinitive.should == 'keyboard'
|
224
|
+
"keyboarding".en.infinitive.rule.should == '15'
|
225
|
+
end
|
226
|
+
|
227
|
+
it "uses rule 15 when calculating the infinitive of 'wrestling'" do
|
228
|
+
"wrestling".en.infinitive.should == 'wrestle'
|
229
|
+
"wrestling".en.infinitive.rule.should == '15'
|
230
|
+
end
|
231
|
+
|
232
|
+
it "uses rule 15 when calculating the infinitive of 'traveling'" do
|
233
|
+
"traveling".en.infinitive.should == 'travel'
|
234
|
+
"traveling".en.infinitive.rule.should == '15'
|
235
|
+
end
|
236
|
+
|
237
|
+
it "uses rule 15 when calculating the infinitive of 'traipsing'" do
|
238
|
+
"traipsing".en.infinitive.should == 'traipse'
|
239
|
+
"traipsing".en.infinitive.rule.should == '15'
|
240
|
+
end
|
241
|
+
|
242
|
+
it "uses rule 16 when calculating the infinitive of 'stylist'" do
|
243
|
+
"stylist".en.infinitive.should == 'style'
|
244
|
+
"stylist".en.infinitive.rule.should == '16'
|
245
|
+
end
|
246
|
+
|
247
|
+
it "uses rule 16 when calculating the infinitive of 'dentist'" do
|
248
|
+
"dentist".en.infinitive.should == 'dent'
|
249
|
+
"dentist".en.infinitive.rule.should == '16'
|
250
|
+
end
|
251
|
+
|
252
|
+
it "uses rule 17 when calculating the infinitive of 'cubism'" do
|
253
|
+
"cubism".en.infinitive.should == 'cube'
|
254
|
+
"cubism".en.infinitive.rule.should == '17'
|
255
|
+
end
|
256
|
+
|
257
|
+
it "uses rule 17 when calculating the infinitive of 'socialism'" do
|
258
|
+
"socialism".en.infinitive.should == 'social'
|
259
|
+
"socialism".en.infinitive.rule.should == '17'
|
260
|
+
end
|
261
|
+
|
262
|
+
it "uses rule 18 when calculating the infinitive of 'scarcity'" do
|
263
|
+
"scarcity".en.infinitive.should == 'scarce'
|
264
|
+
"scarcity".en.infinitive.rule.should == '18'
|
265
|
+
end
|
266
|
+
|
267
|
+
it "uses rule 18 when calculating the infinitive of 'rapidity'" do
|
268
|
+
"rapidity".en.infinitive.should == 'rapid'
|
269
|
+
"rapidity".en.infinitive.rule.should == '18'
|
270
|
+
end
|
271
|
+
|
272
|
+
it "uses rule 19 when calculating the infinitive of 'immunize'" do
|
273
|
+
"immunize".en.infinitive.should == 'immune'
|
274
|
+
"immunize".en.infinitive.rule.should == '19'
|
275
|
+
end
|
276
|
+
|
277
|
+
it "uses rule 19 when calculating the infinitive of 'lionize'" do
|
278
|
+
"lionize".en.infinitive.should == 'lion'
|
279
|
+
"lionize".en.infinitive.rule.should == '19'
|
280
|
+
end
|
281
|
+
|
282
|
+
it "uses rule 20c when calculating the infinitive of 'livable'" do
|
283
|
+
"livable".en.infinitive.should == 'live'
|
284
|
+
"livable".en.infinitive.rule.should == '20c'
|
285
|
+
end
|
286
|
+
|
287
|
+
it "uses rule 20c when calculating the infinitive of 'portable'" do
|
288
|
+
"portable".en.infinitive.should == 'port'
|
289
|
+
"portable".en.infinitive.rule.should == '20c'
|
290
|
+
end
|
291
|
+
|
292
|
+
it "uses rule 22 when calculating the infinitive of 'nobility'" do
|
293
|
+
"nobility".en.infinitive.should == 'noble'
|
294
|
+
"nobility".en.infinitive.rule.should == '22'
|
295
|
+
end
|
296
|
+
|
297
|
+
it "uses rule 23 when calculating the infinitive of 'identifiable'" do
|
298
|
+
"identifiable".en.infinitive.should == 'identify'
|
299
|
+
"identifiable".en.infinitive.rule.should == '23'
|
300
|
+
end
|
301
|
+
|
302
|
+
it "uses rule 24 when calculating the infinitive of 'psychologist'" do
|
303
|
+
"psychologist".en.infinitive.should == 'psychology'
|
304
|
+
"psychologist".en.infinitive.rule.should == '24'
|
305
|
+
end
|
306
|
+
|
307
|
+
it "uses rule 25 when calculating the infinitive of 'photographic'" do
|
308
|
+
"photographic".en.infinitive.should == 'photography'
|
309
|
+
"photographic".en.infinitive.rule.should == '25'
|
310
|
+
end
|
311
|
+
|
312
|
+
it "uses rule 26 when calculating the infinitive of 'stylistic'" do
|
313
|
+
"stylistic".en.infinitive.should == 'stylist'
|
314
|
+
"stylistic".en.infinitive.rule.should == '26'
|
315
|
+
end
|
316
|
+
|
317
|
+
it "uses rule 27 when calculating the infinitive of 'martensitic'" do
|
318
|
+
"martensitic".en.infinitive.should == 'martensite'
|
319
|
+
"martensitic".en.infinitive.rule.should == '27'
|
320
|
+
end
|
321
|
+
|
322
|
+
it "uses rule 27 when calculating the infinitive of 'politic'" do
|
323
|
+
"politic".en.infinitive.should == 'polite'
|
324
|
+
"politic".en.infinitive.rule.should == '27'
|
325
|
+
end
|
326
|
+
|
327
|
+
it "uses rule 28 when calculating the infinitive of 'ladylike'" do
|
328
|
+
"ladylike".en.infinitive.should == 'lady'
|
329
|
+
"ladylike".en.infinitive.rule.should == '28'
|
330
|
+
end
|
331
|
+
|
332
|
+
it "uses rule 29 when calculating the infinitive of 'biologic'" do
|
333
|
+
"biologic".en.infinitive.should == 'biology'
|
334
|
+
"biologic".en.infinitive.rule.should == '29'
|
335
|
+
end
|
336
|
+
|
337
|
+
it "uses rule 30 when calculating the infinitive of 'battlement'" do
|
338
|
+
"battlement".en.infinitive.should == 'battle'
|
339
|
+
"battlement".en.infinitive.rule.should == '30'
|
340
|
+
end
|
341
|
+
|
342
|
+
it "uses rule 31 when calculating the infinitive of 'supplemental'" do
|
343
|
+
"supplemental".en.infinitive.should == 'supplement'
|
344
|
+
"supplemental".en.infinitive.rule.should == '31'
|
345
|
+
end
|
346
|
+
|
347
|
+
it "uses rule 32 when calculating the infinitive of 'thermometry'" do
|
348
|
+
"thermometry".en.infinitive.should == 'thermometer'
|
349
|
+
"thermometry".en.infinitive.rule.should == '32'
|
350
|
+
end
|
351
|
+
|
352
|
+
it "uses rule 33 when calculating the infinitive of 'inadvertence'" do
|
353
|
+
"inadvertence".en.infinitive.should == 'inadvertent'
|
354
|
+
"inadvertence".en.infinitive.rule.should == '33'
|
355
|
+
end
|
356
|
+
|
357
|
+
it "uses rule 34 when calculating the infinitive of 'potency'" do
|
358
|
+
"potency".en.infinitive.should == 'potent'
|
359
|
+
"potency".en.infinitive.rule.should == '34'
|
360
|
+
end
|
361
|
+
|
362
|
+
it "uses rule 35 when calculating the infinitive of 'discipleship'" do
|
363
|
+
"discipleship".en.infinitive.should == 'disciple'
|
364
|
+
"discipleship".en.infinitive.rule.should == '35'
|
365
|
+
end
|
366
|
+
|
367
|
+
it "uses rule 36 when calculating the infinitive of 'mystical'" do
|
368
|
+
"mystical".en.infinitive.should == 'mystic'
|
369
|
+
"mystical".en.infinitive.rule.should == '36'
|
370
|
+
end
|
371
|
+
|
372
|
+
it "uses rule 37 when calculating the infinitive of 'regional'" do
|
373
|
+
"regional".en.infinitive.should == 'region'
|
374
|
+
"regional".en.infinitive.rule.should == '37'
|
375
|
+
end
|
376
|
+
|
377
|
+
it "uses rule 37 when calculating the infinitive of 'national'" do
|
378
|
+
"national".en.infinitive.should == 'nation'
|
379
|
+
"national".en.infinitive.rule.should == '37'
|
380
|
+
end
|
381
|
+
|
382
|
+
it "uses rule 38 when calculating the infinitive of 'horribly'" do
|
383
|
+
"horribly".en.infinitive.should == 'horrible'
|
384
|
+
"horribly".en.infinitive.rule.should == '38'
|
385
|
+
end
|
386
|
+
|
387
|
+
it "uses rule 39 when calculating the infinitive of 'scantily'" do
|
388
|
+
"scantily".en.infinitive.should == 'scanty'
|
389
|
+
"scantily".en.infinitive.rule.should == '39'
|
390
|
+
end
|
391
|
+
|
392
|
+
it "uses rule 40 when calculating the infinitive of 'partly'" do
|
393
|
+
"partly".en.infinitive.should == 'part'
|
394
|
+
"partly".en.infinitive.rule.should == '40'
|
395
|
+
end
|
396
|
+
|
397
|
+
it "uses rule 41a when calculating the infinitive of 'dutiful'" do
|
398
|
+
"dutiful".en.infinitive.should == 'duty'
|
399
|
+
"dutiful".en.infinitive.rule.should == '41a'
|
400
|
+
end
|
401
|
+
|
402
|
+
it "uses rule 41b when calculating the infinitive of 'harmful'" do
|
403
|
+
"harmful".en.infinitive.should == 'harm'
|
404
|
+
"harmful".en.infinitive.rule.should == '41b'
|
405
|
+
end
|
406
|
+
|
407
|
+
it "uses rule 42a when calculating the infinitive of 'likelihood'" do
|
408
|
+
"likelihood".en.infinitive.should == 'likely'
|
409
|
+
"likelihood".en.infinitive.rule.should == '42a'
|
410
|
+
end
|
411
|
+
|
412
|
+
it "uses rule 42b when calculating the infinitive of 'neighborhood'" do
|
413
|
+
"neighborhood".en.infinitive.should == 'neighbor'
|
414
|
+
"neighborhood".en.infinitive.rule.should == '42b'
|
415
|
+
end
|
416
|
+
|
417
|
+
it "uses rule 42b when calculating the infinitive of 'neighbourhood'" do
|
418
|
+
"neighbourhood".en.infinitive.should == 'neighbour'
|
419
|
+
"neighbourhood".en.infinitive.rule.should == '42b'
|
420
|
+
end
|
421
|
+
|
422
|
+
it "uses rule 43a when calculating the infinitive of 'penniless'" do
|
423
|
+
"penniless".en.infinitive.should == 'penny'
|
424
|
+
"penniless".en.infinitive.rule.should == '43a'
|
425
|
+
end
|
426
|
+
|
427
|
+
it "uses rule 43b when calculating the infinitive of 'listless'" do
|
428
|
+
"listless".en.infinitive.should == 'list'
|
429
|
+
"listless".en.infinitive.rule.should == '43b'
|
430
|
+
end
|
431
|
+
|
432
|
+
it "uses rule 44a when calculating the infinitive of 'heartiness'" do
|
433
|
+
"heartiness".en.infinitive.should == 'hearty'
|
434
|
+
"heartiness".en.infinitive.rule.should == '44a'
|
435
|
+
end
|
436
|
+
|
437
|
+
it "uses rule 44b when calculating the infinitive of 'coolness'" do
|
438
|
+
"coolness".en.infinitive.should == 'cool'
|
439
|
+
"coolness".en.infinitive.rule.should == '44b'
|
440
|
+
end
|
441
|
+
|
442
|
+
it "uses rule 45 when calculating the infinitive of 'specification'" do
|
443
|
+
"specification".en.infinitive.should == 'specify'
|
444
|
+
"specification".en.infinitive.rule.should == '45'
|
445
|
+
end
|
446
|
+
|
447
|
+
it "uses rule 46 when calculating the infinitive of 'rationalization'" do
|
448
|
+
"rationalization".en.infinitive.should == 'rationalize'
|
449
|
+
"rationalization".en.infinitive.rule.should == '46'
|
450
|
+
end
|
451
|
+
|
452
|
+
it "uses rule 47 when calculating the infinitive of 'detection'" do
|
453
|
+
"detection".en.infinitive.should == 'detect'
|
454
|
+
"detection".en.infinitive.rule.should == '47'
|
455
|
+
end
|
456
|
+
|
457
|
+
it "uses rule 48 when calculating the infinitive of 'exertion'" do
|
458
|
+
"exertion".en.infinitive.should == 'exert'
|
459
|
+
"exertion".en.infinitive.rule.should == '48'
|
460
|
+
end
|
461
|
+
|
462
|
+
it "uses rule 49 when calculating the infinitive of 'creation'" do
|
463
|
+
"creation".en.infinitive.should == 'create'
|
464
|
+
"creation".en.infinitive.rule.should == '49'
|
465
|
+
end
|
466
|
+
|
467
|
+
it "uses rule 50 when calculating the infinitive of 'creator'" do
|
468
|
+
"creator".en.infinitive.should == 'create'
|
469
|
+
"creator".en.infinitive.rule.should == '50'
|
470
|
+
end
|
471
|
+
|
472
|
+
it "uses rule 51 when calculating the infinitive of 'detector'" do
|
473
|
+
"detector".en.infinitive.should == 'detect'
|
474
|
+
"detector".en.infinitive.rule.should == '51'
|
475
|
+
end
|
476
|
+
|
477
|
+
it "uses rule 52 when calculating the infinitive of 'creative'" do
|
478
|
+
"creative".en.infinitive.should == 'creation'
|
479
|
+
"creative".en.infinitive.rule.should == '52'
|
480
|
+
end
|
481
|
+
|
482
|
+
it "uses rule 52 when calculating the infinitive of 'decisive'" do
|
483
|
+
"decisive".en.infinitive.should == 'decision'
|
484
|
+
"decisive".en.infinitive.rule.should == '52'
|
485
|
+
end
|
486
|
+
|
487
|
+
it "uses rule 53 when calculating the infinitive of 'Australian'" do
|
488
|
+
"Australian".en.infinitive.should == 'Australia'
|
489
|
+
"Australian".en.infinitive.rule.should == '53'
|
490
|
+
end
|
491
|
+
|
492
|
+
it "uses rule 54 when calculating the infinitive of 'Jeffersonian'" do
|
493
|
+
"Jeffersonian".en.infinitive.should == 'Jefferson'
|
494
|
+
"Jeffersonian".en.infinitive.rule.should == '54'
|
495
|
+
end
|
496
|
+
|
497
|
+
it "uses irregular rule when calculating the infinitive of 'rove'" do
|
498
|
+
"rove".en.infinitive.should == 'reeve'
|
499
|
+
"rove".en.infinitive.rule.should == 'irregular'
|
500
|
+
end
|
501
|
+
|
502
|
+
it "uses irregular rule when calculating the infinitive of 'dove'" do
|
503
|
+
"dove".en.infinitive.should == 'dive'
|
504
|
+
"dove".en.infinitive.rule.should == 'irregular'
|
505
|
+
end
|
506
|
+
|
507
|
+
it "uses irregular rule when calculating the infinitive of 'snuck'" do
|
508
|
+
"snuck".en.infinitive.should == 'sneak'
|
509
|
+
"snuck".en.infinitive.rule.should == 'irregular'
|
510
|
+
end
|
511
|
+
|
512
|
+
it "uses irregular rule when calculating the infinitive of 'wot'" do
|
513
|
+
"wot".en.infinitive.should == 'wit'
|
514
|
+
"wot".en.infinitive.rule.should == 'irregular'
|
515
|
+
end
|
516
|
+
|
517
|
+
end
|
518
|
+
|