linguistics 2.0.2 → 2.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/.simplecov +12 -0
- data/ChangeLog +773 -11
- data/History.rdoc +9 -0
- data/Manifest.txt +3 -2
- data/README.rdoc +5 -5
- data/Rakefile +49 -19
- data/examples/generalize_sentence.rb +2 -2
- data/lib/linguistics.rb +4 -4
- data/lib/linguistics/en/articles.rb +1 -1
- data/lib/linguistics/en/conjugation.rb +6 -6
- data/lib/linguistics/en/conjunctions.rb +1 -1
- data/lib/linguistics/en/infinitives.rb +1 -1
- data/lib/linguistics/en/linkparser.rb +11 -11
- data/lib/linguistics/en/numbers.rb +11 -11
- data/lib/linguistics/en/participles.rb +1 -1
- data/lib/linguistics/en/pluralization.rb +16 -16
- data/lib/linguistics/en/wordnet.rb +1 -1
- data/lib/linguistics/languagebehavior.rb +1 -1
- data/spec/{lib/constants.rb → constants.rb} +0 -0
- data/spec/helpers.rb +39 -0
- data/spec/linguistics/en/articles_spec.rb +194 -203
- data/spec/linguistics/en/conjugation_spec.rb +519 -521
- data/spec/linguistics/en/conjunctions_spec.rb +31 -47
- data/spec/linguistics/en/infinitives_spec.rb +193 -207
- data/spec/linguistics/en/linkparser_spec.rb +9 -20
- data/spec/linguistics/en/numbers_spec.rb +289 -302
- data/spec/linguistics/en/participles_spec.rb +6 -20
- data/spec/linguistics/en/pluralization_spec.rb +894 -908
- data/spec/linguistics/en/stemmer_spec.rb +10 -23
- data/spec/linguistics/en/titlecase_spec.rb +3 -13
- data/spec/linguistics/en/wordnet_spec.rb +10 -30
- data/spec/linguistics/en_spec.rb +14 -28
- data/spec/linguistics/inflector_spec.rb +3 -21
- data/spec/linguistics/iso639_spec.rb +28 -37
- data/spec/linguistics/monkeypatches_spec.rb +5 -14
- data/spec/linguistics_spec.rb +11 -30
- metadata +44 -15
- metadata.gz.sig +0 -0
- data/spec/lib/helpers.rb +0 -38
@@ -61,7 +61,7 @@ require 'linguistics/en' unless defined?( Linguistics::EN )
|
|
61
61
|
# "navigational instrument", "optical instrument", "plotter", "scientific
|
62
62
|
# instrument", "sonograph", "surveying instrument", "surveyor's instrument",
|
63
63
|
# "tracer", "weapon", "arm", "weapon system", "whip"]
|
64
|
-
#
|
64
|
+
#
|
65
65
|
module Linguistics::EN::WordNet
|
66
66
|
|
67
67
|
@has_wordnet = false
|
@@ -9,7 +9,7 @@ require 'linguistics/iso639'
|
|
9
9
|
# This is a RSpec 2 shared behavior for language plugins. You can use this to be
|
10
10
|
# sure that your language plugin conforms to the API expected by Linguistics. You'll
|
11
11
|
# probably want to use it something like this:
|
12
|
-
#
|
12
|
+
#
|
13
13
|
# require 'linguistics/languagebehavior'
|
14
14
|
#
|
15
15
|
# describe Linguistics::KL do
|
File without changes
|
data/spec/helpers.rb
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
# coding: utf-8
|
3
|
+
|
4
|
+
# SimpleCov test coverage reporting; enable this using the :coverage rake task
|
5
|
+
require 'simplecov' if ENV['COVERAGE']
|
6
|
+
|
7
|
+
|
8
|
+
require 'linguistics'
|
9
|
+
|
10
|
+
require 'rspec'
|
11
|
+
require 'loggability/spechelpers'
|
12
|
+
|
13
|
+
require_relative 'constants'
|
14
|
+
|
15
|
+
module Linguistics::SpecHelpers
|
16
|
+
end # module Linguistics::SpecHelpers
|
17
|
+
|
18
|
+
|
19
|
+
### Mock with RSpec
|
20
|
+
RSpec.configure do |config|
|
21
|
+
include Linguistics::TestConstants
|
22
|
+
|
23
|
+
config.treat_symbols_as_metadata_keys_with_true_values = true
|
24
|
+
config.run_all_when_everything_filtered = true
|
25
|
+
config.filter_run :focus
|
26
|
+
config.order = 'random'
|
27
|
+
|
28
|
+
config.mock_with( :rspec ) do |mock|
|
29
|
+
mock.syntax = :expect
|
30
|
+
end
|
31
|
+
|
32
|
+
config.include( Loggability::SpecHelpers )
|
33
|
+
config.include( Linguistics::SpecHelpers )
|
34
|
+
|
35
|
+
config.before( :all ) { setup_logging(:fatal) }
|
36
|
+
end
|
37
|
+
|
38
|
+
# vim: set nosta noet ts=4 sw=4:
|
39
|
+
|
@@ -1,17 +1,8 @@
|
|
1
1
|
#!/usr/bin/env rspec -cfd
|
2
2
|
|
3
|
-
|
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
|
-
}
|
3
|
+
require_relative '../../helpers'
|
12
4
|
|
13
5
|
require 'rspec'
|
14
|
-
require 'spec/lib/helpers'
|
15
6
|
|
16
7
|
require 'linguistics'
|
17
8
|
require 'linguistics/en'
|
@@ -30,7 +21,7 @@ describe Linguistics::EN::Articles do
|
|
30
21
|
end
|
31
22
|
|
32
23
|
it "adds EN::Articles to the list of English language modules" do
|
33
|
-
Linguistics::EN.
|
24
|
+
expect( Linguistics::EN ).to have_extension( :articles )
|
34
25
|
end
|
35
26
|
|
36
27
|
|
@@ -48,778 +39,778 @@ describe Linguistics::EN::Articles do
|
|
48
39
|
|
49
40
|
|
50
41
|
it "uses the stringified receiver as the object which should get the article" do
|
51
|
-
monkeypatched_object.a.
|
42
|
+
expect( monkeypatched_object.a ).to eq( 'an antelope' )
|
52
43
|
end
|
53
44
|
|
54
45
|
it "uses correct pluralization to form the negative article" do
|
55
|
-
monkeypatched_object.no.
|
46
|
+
expect( monkeypatched_object.no ).to eq( 'no antelopes' )
|
56
47
|
end
|
57
48
|
|
58
49
|
end
|
59
50
|
|
60
51
|
|
61
52
|
it "uses 'an' as the indefinite article for 'A.B.C'" do
|
62
|
-
"A.B.C".en.a.
|
53
|
+
expect( "A.B.C".en.a ).to eq( "an A.B.C" )
|
63
54
|
end
|
64
55
|
|
65
56
|
it "uses 'an' as the indefinite article for 'AI'" do
|
66
|
-
"AI".en.a.
|
57
|
+
expect( "AI".en.a ).to eq( "an AI" )
|
67
58
|
end
|
68
59
|
|
69
60
|
it "uses 'an' as the indefinite article for 'AGE'" do
|
70
|
-
"AGE".en.a.
|
61
|
+
expect( "AGE".en.a ).to eq( "an AGE" )
|
71
62
|
end
|
72
63
|
|
73
64
|
it "uses 'an' as the indefinite article for 'agendum'" do
|
74
|
-
"agendum".en.a.
|
65
|
+
expect( "agendum".en.a ).to eq( "an agendum" )
|
75
66
|
end
|
76
67
|
|
77
68
|
it "uses 'an' as the indefinite article for 'aide-de-camp'" do
|
78
|
-
"aide-de-camp".en.a.
|
69
|
+
expect( "aide-de-camp".en.a ).to eq( "an aide-de-camp" )
|
79
70
|
end
|
80
71
|
|
81
72
|
it "uses 'an' as the indefinite article for 'albino'" do
|
82
|
-
"albino".en.a.
|
73
|
+
expect( "albino".en.a ).to eq( "an albino" )
|
83
74
|
end
|
84
75
|
|
85
76
|
it "uses 'a' as the indefinite article for 'B.L.T. sandwich'" do
|
86
|
-
"B.L.T. sandwich".en.a.
|
77
|
+
expect( "B.L.T. sandwich".en.a ).to eq( "a B.L.T. sandwich" )
|
87
78
|
end
|
88
79
|
|
89
80
|
it "uses 'a' as the indefinite article for 'BMW'" do
|
90
|
-
"BMW".en.a.
|
81
|
+
expect( "BMW".en.a ).to eq( "a BMW" )
|
91
82
|
end
|
92
83
|
|
93
84
|
it "uses 'a' as the indefinite article for 'BLANK'" do
|
94
|
-
"BLANK".en.a.
|
85
|
+
expect( "BLANK".en.a ).to eq( "a BLANK" )
|
95
86
|
end
|
96
87
|
|
97
88
|
it "uses 'a' as the indefinite article for 'bacterium'" do
|
98
|
-
"bacterium".en.a.
|
89
|
+
expect( "bacterium".en.a ).to eq( "a bacterium" )
|
99
90
|
end
|
100
91
|
|
101
92
|
it "uses 'a' as the indefinite article for 'Burmese restaurant'" do
|
102
|
-
"Burmese restaurant".en.a.
|
93
|
+
expect( "Burmese restaurant".en.a ).to eq( "a Burmese restaurant" )
|
103
94
|
end
|
104
95
|
|
105
96
|
it "uses 'a' as the indefinite article for 'C.O.'" do
|
106
|
-
"C.O.".en.a.
|
97
|
+
expect( "C.O.".en.a ).to eq( "a C.O." )
|
107
98
|
end
|
108
99
|
|
109
100
|
it "uses 'a' as the indefinite article for 'CCD'" do
|
110
|
-
"CCD".en.a.
|
101
|
+
expect( "CCD".en.a ).to eq( "a CCD" )
|
111
102
|
end
|
112
103
|
|
113
104
|
it "uses 'a' as the indefinite article for 'COLON'" do
|
114
|
-
"COLON".en.a.
|
105
|
+
expect( "COLON".en.a ).to eq( "a COLON" )
|
115
106
|
end
|
116
107
|
|
117
108
|
it "uses 'a' as the indefinite article for 'cameo'" do
|
118
|
-
"cameo".en.a.
|
109
|
+
expect( "cameo".en.a ).to eq( "a cameo" )
|
119
110
|
end
|
120
111
|
|
121
112
|
it "uses 'a' as the indefinite article for 'CAPITAL'" do
|
122
|
-
"CAPITAL".en.a.
|
113
|
+
expect( "CAPITAL".en.a ).to eq( "a CAPITAL" )
|
123
114
|
end
|
124
115
|
|
125
116
|
it "uses 'a' as the indefinite article for 'D.S.M.'" do
|
126
|
-
"D.S.M.".en.a.
|
117
|
+
expect( "D.S.M.".en.a ).to eq( "a D.S.M." )
|
127
118
|
end
|
128
119
|
|
129
120
|
it "uses 'a' as the indefinite article for 'DNR'" do
|
130
|
-
"DNR".en.a.
|
121
|
+
expect( "DNR".en.a ).to eq( "a DNR" )
|
131
122
|
end
|
132
123
|
|
133
124
|
it "uses 'a' as the indefinite article for 'DINNER'" do
|
134
|
-
"DINNER".en.a.
|
125
|
+
expect( "DINNER".en.a ).to eq( "a DINNER" )
|
135
126
|
end
|
136
127
|
|
137
128
|
it "uses 'a' as the indefinite article for 'dynamo'" do
|
138
|
-
"dynamo".en.a.
|
129
|
+
expect( "dynamo".en.a ).to eq( "a dynamo" )
|
139
130
|
end
|
140
131
|
|
141
132
|
it "uses 'an' as the indefinite article for 'E.K.G.'" do
|
142
|
-
"E.K.G.".en.a.
|
133
|
+
expect( "E.K.G.".en.a ).to eq( "an E.K.G." )
|
143
134
|
end
|
144
135
|
|
145
136
|
it "uses 'an' as the indefinite article for 'ECG'" do
|
146
|
-
"ECG".en.a.
|
137
|
+
expect( "ECG".en.a ).to eq( "an ECG" )
|
147
138
|
end
|
148
139
|
|
149
140
|
it "uses 'an' as the indefinite article for 'EGG'" do
|
150
|
-
"EGG".en.a.
|
141
|
+
expect( "EGG".en.a ).to eq( "an EGG" )
|
151
142
|
end
|
152
143
|
|
153
144
|
it "uses 'an' as the indefinite article for 'embryo'" do
|
154
|
-
"embryo".en.a.
|
145
|
+
expect( "embryo".en.a ).to eq( "an embryo" )
|
155
146
|
end
|
156
147
|
|
157
148
|
it "uses 'an' as the indefinite article for 'erratum'" do
|
158
|
-
"erratum".en.a.
|
149
|
+
expect( "erratum".en.a ).to eq( "an erratum" )
|
159
150
|
end
|
160
151
|
|
161
152
|
it "uses 'a' as the indefinite article for 'eucalyptus'" do
|
162
|
-
"eucalyptus".en.a.
|
153
|
+
expect( "eucalyptus".en.a ).to eq( "a eucalyptus" )
|
163
154
|
end
|
164
155
|
|
165
156
|
it "uses 'an' as the indefinite article for 'Euler number'" do
|
166
|
-
"Euler number".en.a.
|
157
|
+
expect( "Euler number".en.a ).to eq( "an Euler number" )
|
167
158
|
end
|
168
159
|
|
169
160
|
it "uses 'a' as the indefinite article for 'eulogy'" do
|
170
|
-
"eulogy".en.a.
|
161
|
+
expect( "eulogy".en.a ).to eq( "a eulogy" )
|
171
162
|
end
|
172
163
|
|
173
164
|
it "uses 'a' as the indefinite article for 'euphemism'" do
|
174
|
-
"euphemism".en.a.
|
165
|
+
expect( "euphemism".en.a ).to eq( "a euphemism" )
|
175
166
|
end
|
176
167
|
|
177
168
|
it "uses 'a' as the indefinite article for 'euphoria'" do
|
178
|
-
"euphoria".en.a.
|
169
|
+
expect( "euphoria".en.a ).to eq( "a euphoria" )
|
179
170
|
end
|
180
171
|
|
181
172
|
it "uses 'a' as the indefinite article for 'ewe'" do
|
182
|
-
"ewe".en.a.
|
173
|
+
expect( "ewe".en.a ).to eq( "a ewe" )
|
183
174
|
end
|
184
175
|
|
185
176
|
it "uses 'a' as the indefinite article for 'ewer'" do
|
186
|
-
"ewer".en.a.
|
177
|
+
expect( "ewer".en.a ).to eq( "a ewer" )
|
187
178
|
end
|
188
179
|
|
189
180
|
it "uses 'an' as the indefinite article for 'extremum'" do
|
190
|
-
"extremum".en.a.
|
181
|
+
expect( "extremum".en.a ).to eq( "an extremum" )
|
191
182
|
end
|
192
183
|
|
193
184
|
it "uses 'an' as the indefinite article for 'eye'" do
|
194
|
-
"eye".en.a.
|
185
|
+
expect( "eye".en.a ).to eq( "an eye" )
|
195
186
|
end
|
196
187
|
|
197
188
|
it "uses 'an' as the indefinite article for 'F.B.I. agent'" do
|
198
|
-
"F.B.I. agent".en.a.
|
189
|
+
expect( "F.B.I. agent".en.a ).to eq( "an F.B.I. agent" )
|
199
190
|
end
|
200
191
|
|
201
192
|
it "uses 'an' as the indefinite article for 'FSM'" do
|
202
|
-
"FSM".en.a.
|
193
|
+
expect( "FSM".en.a ).to eq( "an FSM" )
|
203
194
|
end
|
204
195
|
|
205
196
|
it "uses 'a' as the indefinite article for 'FACT'" do
|
206
|
-
"FACT".en.a.
|
197
|
+
expect( "FACT".en.a ).to eq( "a FACT" )
|
207
198
|
end
|
208
199
|
|
209
200
|
it "uses 'a' as the indefinite article for 'FAQ'" do
|
210
|
-
"FAQ".en.a.
|
201
|
+
expect( "FAQ".en.a ).to eq( "a FAQ" )
|
211
202
|
end
|
212
203
|
|
213
204
|
it "uses 'an' as the indefinite article for 'F.A.Q.'" do
|
214
|
-
"F.A.Q.".en.a.
|
205
|
+
expect( "F.A.Q.".en.a ).to eq( "an F.A.Q." )
|
215
206
|
end
|
216
207
|
|
217
208
|
it "uses 'a' as the indefinite article for 'fish'" do
|
218
|
-
"fish".en.a.
|
209
|
+
expect( "fish".en.a ).to eq( "a fish" )
|
219
210
|
end
|
220
211
|
|
221
212
|
it "uses 'a' as the indefinite article for 'G-string'" do
|
222
|
-
"G-string".en.a.
|
213
|
+
expect( "G-string".en.a ).to eq( "a G-string" )
|
223
214
|
end
|
224
215
|
|
225
216
|
it "uses 'a' as the indefinite article for 'GSM phone'" do
|
226
|
-
"GSM phone".en.a.
|
217
|
+
expect( "GSM phone".en.a ).to eq( "a GSM phone" )
|
227
218
|
end
|
228
219
|
|
229
220
|
it "uses 'a' as the indefinite article for 'GOD'" do
|
230
|
-
"GOD".en.a.
|
221
|
+
expect( "GOD".en.a ).to eq( "a GOD" )
|
231
222
|
end
|
232
223
|
|
233
224
|
it "uses 'a' as the indefinite article for 'genus'" do
|
234
|
-
"genus".en.a.
|
225
|
+
expect( "genus".en.a ).to eq( "a genus" )
|
235
226
|
end
|
236
227
|
|
237
228
|
it "uses 'a' as the indefinite article for 'Governor General'" do
|
238
|
-
"Governor General".en.a.
|
229
|
+
expect( "Governor General".en.a ).to eq( "a Governor General" )
|
239
230
|
end
|
240
231
|
|
241
232
|
it "uses 'an' as the indefinite article for 'H-Bomb'" do
|
242
|
-
"H-Bomb".en.a.
|
233
|
+
expect( "H-Bomb".en.a ).to eq( "an H-Bomb" )
|
243
234
|
end
|
244
235
|
|
245
236
|
it "uses 'an' as the indefinite article for 'H.M.S Ark Royal'" do
|
246
|
-
"H.M.S Ark Royal".en.a.
|
237
|
+
expect( "H.M.S Ark Royal".en.a ).to eq( "an H.M.S Ark Royal" )
|
247
238
|
end
|
248
239
|
|
249
240
|
it "uses 'an' as the indefinite article for 'HSL colour space'" do
|
250
|
-
"HSL colour space".en.a.
|
241
|
+
expect( "HSL colour space".en.a ).to eq( "an HSL colour space" )
|
251
242
|
end
|
252
243
|
|
253
244
|
it "uses 'a' as the indefinite article for 'HAL 9000'" do
|
254
|
-
"HAL 9000".en.a.
|
245
|
+
expect( "HAL 9000".en.a ).to eq( "a HAL 9000" )
|
255
246
|
end
|
256
247
|
|
257
248
|
it "uses 'an' as the indefinite article for 'H.A.L. 9000'" do
|
258
|
-
"H.A.L. 9000".en.a.
|
249
|
+
expect( "H.A.L. 9000".en.a ).to eq( "an H.A.L. 9000" )
|
259
250
|
end
|
260
251
|
|
261
252
|
it "uses 'a' as the indefinite article for 'has-been'" do
|
262
|
-
"has-been".en.a.
|
253
|
+
expect( "has-been".en.a ).to eq( "a has-been" )
|
263
254
|
end
|
264
255
|
|
265
256
|
it "uses 'a' as the indefinite article for 'height'" do
|
266
|
-
"height".en.a.
|
257
|
+
expect( "height".en.a ).to eq( "a height" )
|
267
258
|
end
|
268
259
|
|
269
260
|
it "uses 'an' as the indefinite article for 'heir'" do
|
270
|
-
"heir".en.a.
|
261
|
+
expect( "heir".en.a ).to eq( "an heir" )
|
271
262
|
end
|
272
263
|
|
273
264
|
it "uses 'a' as the indefinite article for 'honed blade'" do
|
274
|
-
"honed blade".en.a.
|
265
|
+
expect( "honed blade".en.a ).to eq( "a honed blade" )
|
275
266
|
end
|
276
267
|
|
277
268
|
it "uses 'an' as the indefinite article for 'honest man'" do
|
278
|
-
"honest man".en.a.
|
269
|
+
expect( "honest man".en.a ).to eq( "an honest man" )
|
279
270
|
end
|
280
271
|
|
281
272
|
it "uses 'a' as the indefinite article for 'honeymoon'" do
|
282
|
-
"honeymoon".en.a.
|
273
|
+
expect( "honeymoon".en.a ).to eq( "a honeymoon" )
|
283
274
|
end
|
284
275
|
|
285
276
|
it "uses 'an' as the indefinite article for 'honorarium'" do
|
286
|
-
"honorarium".en.a.
|
277
|
+
expect( "honorarium".en.a ).to eq( "an honorarium" )
|
287
278
|
end
|
288
279
|
|
289
280
|
it "uses 'an' as the indefinite article for 'honorary degree'" do
|
290
|
-
"honorary degree".en.a.
|
281
|
+
expect( "honorary degree".en.a ).to eq( "an honorary degree" )
|
291
282
|
end
|
292
283
|
|
293
284
|
it "uses 'an' as the indefinite article for 'honoree'" do
|
294
|
-
"honoree".en.a.
|
285
|
+
expect( "honoree".en.a ).to eq( "an honoree" )
|
295
286
|
end
|
296
287
|
|
297
288
|
it "uses 'an' as the indefinite article for 'honorific'" do
|
298
|
-
"honorific".en.a.
|
289
|
+
expect( "honorific".en.a ).to eq( "an honorific" )
|
299
290
|
end
|
300
291
|
|
301
292
|
it "uses 'a' as the indefinite article for 'Hough transform'" do
|
302
|
-
"Hough transform".en.a.
|
293
|
+
expect( "Hough transform".en.a ).to eq( "a Hough transform" )
|
303
294
|
end
|
304
295
|
|
305
296
|
it "uses 'a' as the indefinite article for 'hound'" do
|
306
|
-
"hound".en.a.
|
297
|
+
expect( "hound".en.a ).to eq( "a hound" )
|
307
298
|
end
|
308
299
|
|
309
300
|
it "uses 'an' as the indefinite article for 'hour'" do
|
310
|
-
"hour".en.a.
|
301
|
+
expect( "hour".en.a ).to eq( "an hour" )
|
311
302
|
end
|
312
303
|
|
313
304
|
it "uses 'an' as the indefinite article for 'hourglass'" do
|
314
|
-
"hourglass".en.a.
|
305
|
+
expect( "hourglass".en.a ).to eq( "an hourglass" )
|
315
306
|
end
|
316
307
|
|
317
308
|
it "uses 'a' as the indefinite article for 'houri'" do
|
318
|
-
"houri".en.a.
|
309
|
+
expect( "houri".en.a ).to eq( "a houri" )
|
319
310
|
end
|
320
311
|
|
321
312
|
it "uses 'a' as the indefinite article for 'house'" do
|
322
|
-
"house".en.a.
|
313
|
+
expect( "house".en.a ).to eq( "a house" )
|
323
314
|
end
|
324
315
|
|
325
316
|
it "uses 'an' as the indefinite article for 'I.O.U.'" do
|
326
|
-
"I.O.U.".en.a.
|
317
|
+
expect( "I.O.U.".en.a ).to eq( "an I.O.U." )
|
327
318
|
end
|
328
319
|
|
329
320
|
it "uses 'an' as the indefinite article for 'IQ'" do
|
330
|
-
"IQ".en.a.
|
321
|
+
expect( "IQ".en.a ).to eq( "an IQ" )
|
331
322
|
end
|
332
323
|
|
333
324
|
it "uses 'an' as the indefinite article for 'IDEA'" do
|
334
|
-
"IDEA".en.a.
|
325
|
+
expect( "IDEA".en.a ).to eq( "an IDEA" )
|
335
326
|
end
|
336
327
|
|
337
328
|
it "uses 'an' as the indefinite article for 'inferno'" do
|
338
|
-
"inferno".en.a.
|
329
|
+
expect( "inferno".en.a ).to eq( "an inferno" )
|
339
330
|
end
|
340
331
|
|
341
332
|
it "uses 'an' as the indefinite article for 'Inspector General'" do
|
342
|
-
"Inspector General".en.a.
|
333
|
+
expect( "Inspector General".en.a ).to eq( "an Inspector General" )
|
343
334
|
end
|
344
335
|
|
345
336
|
it "uses 'a' as the indefinite article for 'jumbo'" do
|
346
|
-
"jumbo".en.a.
|
337
|
+
expect( "jumbo".en.a ).to eq( "a jumbo" )
|
347
338
|
end
|
348
339
|
|
349
340
|
it "uses 'a' as the indefinite article for 'knife'" do
|
350
|
-
"knife".en.a.
|
341
|
+
expect( "knife".en.a ).to eq( "a knife" )
|
351
342
|
end
|
352
343
|
|
353
344
|
it "uses 'an' as the indefinite article for 'L.E.D.'" do
|
354
|
-
"L.E.D.".en.a.
|
345
|
+
expect( "L.E.D.".en.a ).to eq( "an L.E.D." )
|
355
346
|
end
|
356
347
|
|
357
348
|
it "uses 'a' as the indefinite article for 'LED'" do
|
358
|
-
"LED".en.a.
|
349
|
+
expect( "LED".en.a ).to eq( "a LED" )
|
359
350
|
end
|
360
351
|
|
361
352
|
it "uses 'an' as the indefinite article for 'LCD'" do
|
362
|
-
"LCD".en.a.
|
353
|
+
expect( "LCD".en.a ).to eq( "an LCD" )
|
363
354
|
end
|
364
355
|
|
365
356
|
it "uses 'a' as the indefinite article for 'lady in waiting'" do
|
366
|
-
"lady in waiting".en.a.
|
357
|
+
expect( "lady in waiting".en.a ).to eq( "a lady in waiting" )
|
367
358
|
end
|
368
359
|
|
369
360
|
it "uses 'a' as the indefinite article for 'leaf'" do
|
370
|
-
"leaf".en.a.
|
361
|
+
expect( "leaf".en.a ).to eq( "a leaf" )
|
371
362
|
end
|
372
363
|
|
373
364
|
it "uses 'an' as the indefinite article for 'M.I.A.'" do
|
374
|
-
"M.I.A.".en.a.
|
365
|
+
expect( "M.I.A.".en.a ).to eq( "an M.I.A." )
|
375
366
|
end
|
376
367
|
|
377
368
|
it "uses 'a' as the indefinite article for 'MIASMA'" do
|
378
|
-
"MIASMA".en.a.
|
369
|
+
expect( "MIASMA".en.a ).to eq( "a MIASMA" )
|
379
370
|
end
|
380
371
|
|
381
372
|
it "uses 'an' as the indefinite article for 'MTV channel'" do
|
382
|
-
"MTV channel".en.a.
|
373
|
+
expect( "MTV channel".en.a ).to eq( "an MTV channel" )
|
383
374
|
end
|
384
375
|
|
385
376
|
it "uses 'a' as the indefinite article for 'Major General'" do
|
386
|
-
"Major General".en.a.
|
377
|
+
expect( "Major General".en.a ).to eq( "a Major General" )
|
387
378
|
end
|
388
379
|
|
389
380
|
it "uses 'an' as the indefinite article for 'N.C.O.'" do
|
390
|
-
"N.C.O.".en.a.
|
381
|
+
expect( "N.C.O.".en.a ).to eq( "an N.C.O." )
|
391
382
|
end
|
392
383
|
|
393
384
|
it "uses 'an' as the indefinite article for 'NCO'" do
|
394
|
-
"NCO".en.a.
|
385
|
+
expect( "NCO".en.a ).to eq( "an NCO" )
|
395
386
|
end
|
396
387
|
|
397
388
|
it "uses 'a' as the indefinite article for 'NATO country'" do
|
398
|
-
"NATO country".en.a.
|
389
|
+
expect( "NATO country".en.a ).to eq( "a NATO country" )
|
399
390
|
end
|
400
391
|
|
401
392
|
it "uses 'a' as the indefinite article for 'note'" do
|
402
|
-
"note".en.a.
|
393
|
+
expect( "note".en.a ).to eq( "a note" )
|
403
394
|
end
|
404
395
|
|
405
396
|
it "uses 'an' as the indefinite article for 'O.K.'" do
|
406
|
-
"O.K.".en.a.
|
397
|
+
expect( "O.K.".en.a ).to eq( "an O.K." )
|
407
398
|
end
|
408
399
|
|
409
400
|
it "uses 'an' as the indefinite article for 'OK'" do
|
410
|
-
"OK".en.a.
|
401
|
+
expect( "OK".en.a ).to eq( "an OK" )
|
411
402
|
end
|
412
403
|
|
413
404
|
it "uses 'an' as the indefinite article for 'OLE'" do
|
414
|
-
"OLE".en.a.
|
405
|
+
expect( "OLE".en.a ).to eq( "an OLE" )
|
415
406
|
end
|
416
407
|
|
417
408
|
it "uses 'an' as the indefinite article for 'octavo'" do
|
418
|
-
"octavo".en.a.
|
409
|
+
expect( "octavo".en.a ).to eq( "an octavo" )
|
419
410
|
end
|
420
411
|
|
421
412
|
it "uses 'an' as the indefinite article for 'octopus'" do
|
422
|
-
"octopus".en.a.
|
413
|
+
expect( "octopus".en.a ).to eq( "an octopus" )
|
423
414
|
end
|
424
415
|
|
425
416
|
it "uses 'an' as the indefinite article for 'okay'" do
|
426
|
-
"okay".en.a.
|
417
|
+
expect( "okay".en.a ).to eq( "an okay" )
|
427
418
|
end
|
428
419
|
|
429
420
|
it "uses 'a' as the indefinite article for 'once-and-future-king'" do
|
430
|
-
"once-and-future-king".en.a.
|
421
|
+
expect( "once-and-future-king".en.a ).to eq( "a once-and-future-king" )
|
431
422
|
end
|
432
423
|
|
433
424
|
it "uses 'an' as the indefinite article for 'oncologist'" do
|
434
|
-
"oncologist".en.a.
|
425
|
+
expect( "oncologist".en.a ).to eq( "an oncologist" )
|
435
426
|
end
|
436
427
|
|
437
428
|
it "uses 'a' as the indefinite article for 'one night stand'" do
|
438
|
-
"one night stand".en.a.
|
429
|
+
expect( "one night stand".en.a ).to eq( "a one night stand" )
|
439
430
|
end
|
440
431
|
|
441
432
|
it "uses 'an' as the indefinite article for 'onerous task'" do
|
442
|
-
"onerous task".en.a.
|
433
|
+
expect( "onerous task".en.a ).to eq( "an onerous task" )
|
443
434
|
end
|
444
435
|
|
445
436
|
it "uses 'an' as the indefinite article for 'opera'" do
|
446
|
-
"opera".en.a.
|
437
|
+
expect( "opera".en.a ).to eq( "an opera" )
|
447
438
|
end
|
448
439
|
|
449
440
|
it "uses 'an' as the indefinite article for 'optimum'" do
|
450
|
-
"optimum".en.a.
|
441
|
+
expect( "optimum".en.a ).to eq( "an optimum" )
|
451
442
|
end
|
452
443
|
|
453
444
|
it "uses 'an' as the indefinite article for 'opus'" do
|
454
|
-
"opus".en.a.
|
445
|
+
expect( "opus".en.a ).to eq( "an opus" )
|
455
446
|
end
|
456
447
|
|
457
448
|
it "uses 'an' as the indefinite article for 'ox'" do
|
458
|
-
"ox".en.a.
|
449
|
+
expect( "ox".en.a ).to eq( "an ox" )
|
459
450
|
end
|
460
451
|
|
461
452
|
it "uses 'a' as the indefinite article for 'Ph.D.'" do
|
462
|
-
"Ph.D.".en.a.
|
453
|
+
expect( "Ph.D.".en.a ).to eq( "a Ph.D." )
|
463
454
|
end
|
464
455
|
|
465
456
|
it "uses 'a' as the indefinite article for 'PET'" do
|
466
|
-
"PET".en.a.
|
457
|
+
expect( "PET".en.a ).to eq( "a PET" )
|
467
458
|
end
|
468
459
|
|
469
460
|
it "uses 'a' as the indefinite article for 'P.E.T. scan'" do
|
470
|
-
"P.E.T. scan".en.a.
|
461
|
+
expect( "P.E.T. scan".en.a ).to eq( "a P.E.T. scan" )
|
471
462
|
end
|
472
463
|
|
473
464
|
it "uses 'a' as the indefinite article for 'plateau'" do
|
474
|
-
"plateau".en.a.
|
465
|
+
expect( "plateau".en.a ).to eq( "a plateau" )
|
475
466
|
end
|
476
467
|
|
477
468
|
it "uses 'a' as the indefinite article for 'quantum'" do
|
478
|
-
"quantum".en.a.
|
469
|
+
expect( "quantum".en.a ).to eq( "a quantum" )
|
479
470
|
end
|
480
471
|
|
481
472
|
it "uses 'an' as the indefinite article for 'R.S.V.P.'" do
|
482
|
-
"R.S.V.P.".en.a.
|
473
|
+
expect( "R.S.V.P.".en.a ).to eq( "an R.S.V.P." )
|
483
474
|
end
|
484
475
|
|
485
476
|
it "uses 'an' as the indefinite article for 'RSVP'" do
|
486
|
-
"RSVP".en.a.
|
477
|
+
expect( "RSVP".en.a ).to eq( "an RSVP" )
|
487
478
|
end
|
488
479
|
|
489
480
|
it "uses 'a' as the indefinite article for 'REST'" do
|
490
|
-
"REST".en.a.
|
481
|
+
expect( "REST".en.a ).to eq( "a REST" )
|
491
482
|
end
|
492
483
|
|
493
484
|
it "uses 'a' as the indefinite article for 'reindeer'" do
|
494
|
-
"reindeer".en.a.
|
485
|
+
expect( "reindeer".en.a ).to eq( "a reindeer" )
|
495
486
|
end
|
496
487
|
|
497
488
|
it "uses 'an' as the indefinite article for 'S.O.S.'" do
|
498
|
-
"S.O.S.".en.a.
|
489
|
+
expect( "S.O.S.".en.a ).to eq( "an S.O.S." )
|
499
490
|
end
|
500
491
|
|
501
492
|
it "uses 'a' as the indefinite article for 'SUM'" do
|
502
|
-
"SUM".en.a.
|
493
|
+
expect( "SUM".en.a ).to eq( "a SUM" )
|
503
494
|
end
|
504
495
|
|
505
496
|
it "uses 'an' as the indefinite article for 'SST'" do
|
506
|
-
"SST".en.a.
|
497
|
+
expect( "SST".en.a ).to eq( "an SST" )
|
507
498
|
end
|
508
499
|
|
509
500
|
it "uses 'a' as the indefinite article for 'salmon'" do
|
510
|
-
"salmon".en.a.
|
501
|
+
expect( "salmon".en.a ).to eq( "a salmon" )
|
511
502
|
end
|
512
503
|
|
513
504
|
it "uses 'a' as the indefinite article for 'T.N.T. bomb'" do
|
514
|
-
"T.N.T. bomb".en.a.
|
505
|
+
expect( "T.N.T. bomb".en.a ).to eq( "a T.N.T. bomb" )
|
515
506
|
end
|
516
507
|
|
517
508
|
it "uses 'a' as the indefinite article for 'TNT bomb'" do
|
518
|
-
"TNT bomb".en.a.
|
509
|
+
expect( "TNT bomb".en.a ).to eq( "a TNT bomb" )
|
519
510
|
end
|
520
511
|
|
521
512
|
it "uses 'a' as the indefinite article for 'TENT'" do
|
522
|
-
"TENT".en.a.
|
513
|
+
expect( "TENT".en.a ).to eq( "a TENT" )
|
523
514
|
end
|
524
515
|
|
525
516
|
it "uses 'a' as the indefinite article for 'thought'" do
|
526
|
-
"thought".en.a.
|
517
|
+
expect( "thought".en.a ).to eq( "a thought" )
|
527
518
|
end
|
528
519
|
|
529
520
|
it "uses 'a' as the indefinite article for 'tomato'" do
|
530
|
-
"tomato".en.a.
|
521
|
+
expect( "tomato".en.a ).to eq( "a tomato" )
|
531
522
|
end
|
532
523
|
|
533
524
|
it "uses 'a' as the indefinite article for 'U-boat'" do
|
534
|
-
"U-boat".en.a.
|
525
|
+
expect( "U-boat".en.a ).to eq( "a U-boat" )
|
535
526
|
end
|
536
527
|
|
537
528
|
it "uses 'a' as the indefinite article for 'U.F.O.'" do
|
538
|
-
"U.F.O.".en.a.
|
529
|
+
expect( "U.F.O.".en.a ).to eq( "a U.F.O." )
|
539
530
|
end
|
540
531
|
|
541
532
|
it "uses 'a' as the indefinite article for 'UFO'" do
|
542
|
-
"UFO".en.a.
|
533
|
+
expect( "UFO".en.a ).to eq( "a UFO" )
|
543
534
|
end
|
544
535
|
|
545
536
|
it "uses 'a' as the indefinite article for 'ubiquity'" do
|
546
|
-
"ubiquity".en.a.
|
537
|
+
expect( "ubiquity".en.a ).to eq( "a ubiquity" )
|
547
538
|
end
|
548
539
|
|
549
540
|
it "uses 'a' as the indefinite article for 'unicorn'" do
|
550
|
-
"unicorn".en.a.
|
541
|
+
expect( "unicorn".en.a ).to eq( "a unicorn" )
|
551
542
|
end
|
552
543
|
|
553
544
|
it "uses 'an' as the indefinite article for 'unidentified flying object'" do
|
554
|
-
"unidentified flying object".en.a.
|
545
|
+
expect( "unidentified flying object".en.a ).to eq( "an unidentified flying object" )
|
555
546
|
end
|
556
547
|
|
557
548
|
it "uses 'a' as the indefinite article for 'uniform'" do
|
558
|
-
"uniform".en.a.
|
549
|
+
expect( "uniform".en.a ).to eq( "a uniform" )
|
559
550
|
end
|
560
551
|
|
561
552
|
it "uses 'a' as the indefinite article for 'unimodal system'" do
|
562
|
-
"unimodal system".en.a.
|
553
|
+
expect( "unimodal system".en.a ).to eq( "a unimodal system" )
|
563
554
|
end
|
564
555
|
|
565
556
|
it "uses 'an' as the indefinite article for 'unimpressive record'" do
|
566
|
-
"unimpressive record".en.a.
|
557
|
+
expect( "unimpressive record".en.a ).to eq( "an unimpressive record" )
|
567
558
|
end
|
568
559
|
|
569
560
|
it "uses 'an' as the indefinite article for 'uninformed opinion'" do
|
570
|
-
"uninformed opinion".en.a.
|
561
|
+
expect( "uninformed opinion".en.a ).to eq( "an uninformed opinion" )
|
571
562
|
end
|
572
563
|
|
573
564
|
it "uses 'an' as the indefinite article for 'uninvited guest'" do
|
574
|
-
"uninvited guest".en.a.
|
565
|
+
expect( "uninvited guest".en.a ).to eq( "an uninvited guest" )
|
575
566
|
end
|
576
567
|
|
577
568
|
it "uses 'a' as the indefinite article for 'union'" do
|
578
|
-
"union".en.a.
|
569
|
+
expect( "union".en.a ).to eq( "a union" )
|
579
570
|
end
|
580
571
|
|
581
572
|
it "uses 'a' as the indefinite article for 'uniplex'" do
|
582
|
-
"uniplex".en.a.
|
573
|
+
expect( "uniplex".en.a ).to eq( "a uniplex" )
|
583
574
|
end
|
584
575
|
|
585
576
|
it "uses 'a' as the indefinite article for 'uniprocessor'" do
|
586
|
-
"uniprocessor".en.a.
|
577
|
+
expect( "uniprocessor".en.a ).to eq( "a uniprocessor" )
|
587
578
|
end
|
588
579
|
|
589
580
|
it "uses 'a' as the indefinite article for 'unique opportunity'" do
|
590
|
-
"unique opportunity".en.a.
|
581
|
+
expect( "unique opportunity".en.a ).to eq( "a unique opportunity" )
|
591
582
|
end
|
592
583
|
|
593
584
|
it "uses 'a' as the indefinite article for 'unisex hairdresser'" do
|
594
|
-
"unisex hairdresser".en.a.
|
585
|
+
expect( "unisex hairdresser".en.a ).to eq( "a unisex hairdresser" )
|
595
586
|
end
|
596
587
|
|
597
588
|
it "uses 'a' as the indefinite article for 'unison'" do
|
598
|
-
"unison".en.a.
|
589
|
+
expect( "unison".en.a ).to eq( "a unison" )
|
599
590
|
end
|
600
591
|
|
601
592
|
it "uses 'a' as the indefinite article for 'unit'" do
|
602
|
-
"unit".en.a.
|
593
|
+
expect( "unit".en.a ).to eq( "a unit" )
|
603
594
|
end
|
604
595
|
|
605
596
|
it "uses 'a' as the indefinite article for 'unitarian'" do
|
606
|
-
"unitarian".en.a.
|
597
|
+
expect( "unitarian".en.a ).to eq( "a unitarian" )
|
607
598
|
end
|
608
599
|
|
609
600
|
it "uses 'a' as the indefinite article for 'united front'" do
|
610
|
-
"united front".en.a.
|
601
|
+
expect( "united front".en.a ).to eq( "a united front" )
|
611
602
|
end
|
612
603
|
|
613
604
|
it "uses 'a' as the indefinite article for 'unity'" do
|
614
|
-
"unity".en.a.
|
605
|
+
expect( "unity".en.a ).to eq( "a unity" )
|
615
606
|
end
|
616
607
|
|
617
608
|
it "uses 'a' as the indefinite article for 'univalent bond'" do
|
618
|
-
"univalent bond".en.a.
|
609
|
+
expect( "univalent bond".en.a ).to eq( "a univalent bond" )
|
619
610
|
end
|
620
611
|
|
621
612
|
it "uses 'a' as the indefinite article for 'univariate statistic'" do
|
622
|
-
"univariate statistic".en.a.
|
613
|
+
expect( "univariate statistic".en.a ).to eq( "a univariate statistic" )
|
623
614
|
end
|
624
615
|
|
625
616
|
it "uses 'a' as the indefinite article for 'universe'" do
|
626
|
-
"universe".en.a.
|
617
|
+
expect( "universe".en.a ).to eq( "a universe" )
|
627
618
|
end
|
628
619
|
|
629
620
|
it "uses 'an' as the indefinite article for 'unordered meal'" do
|
630
|
-
"unordered meal".en.a.
|
621
|
+
expect( "unordered meal".en.a ).to eq( "an unordered meal" )
|
631
622
|
end
|
632
623
|
|
633
624
|
it "uses 'a' as the indefinite article for 'uranium atom'" do
|
634
|
-
"uranium atom".en.a.
|
625
|
+
expect( "uranium atom".en.a ).to eq( "a uranium atom" )
|
635
626
|
end
|
636
627
|
|
637
628
|
it "uses 'an' as the indefinite article for 'urban myth'" do
|
638
|
-
"urban myth".en.a.
|
629
|
+
expect( "urban myth".en.a ).to eq( "an urban myth" )
|
639
630
|
end
|
640
631
|
|
641
632
|
it "uses 'an' as the indefinite article for 'urbane miss'" do
|
642
|
-
"urbane miss".en.a.
|
633
|
+
expect( "urbane miss".en.a ).to eq( "an urbane miss" )
|
643
634
|
end
|
644
635
|
|
645
636
|
it "uses 'an' as the indefinite article for 'urchin'" do
|
646
|
-
"urchin".en.a.
|
637
|
+
expect( "urchin".en.a ).to eq( "an urchin" )
|
647
638
|
end
|
648
639
|
|
649
640
|
it "uses 'a' as the indefinite article for 'urea detector'" do
|
650
|
-
"urea detector".en.a.
|
641
|
+
expect( "urea detector".en.a ).to eq( "a urea detector" )
|
651
642
|
end
|
652
643
|
|
653
644
|
it "uses 'a' as the indefinite article for 'urethane monomer'" do
|
654
|
-
"urethane monomer".en.a.
|
645
|
+
expect( "urethane monomer".en.a ).to eq( "a urethane monomer" )
|
655
646
|
end
|
656
647
|
|
657
648
|
it "uses 'an' as the indefinite article for 'urge'" do
|
658
|
-
"urge".en.a.
|
649
|
+
expect( "urge".en.a ).to eq( "an urge" )
|
659
650
|
end
|
660
651
|
|
661
652
|
it "uses 'an' as the indefinite article for 'urgency'" do
|
662
|
-
"urgency".en.a.
|
653
|
+
expect( "urgency".en.a ).to eq( "an urgency" )
|
663
654
|
end
|
664
655
|
|
665
656
|
it "uses 'a' as the indefinite article for 'urinal'" do
|
666
|
-
"urinal".en.a.
|
657
|
+
expect( "urinal".en.a ).to eq( "a urinal" )
|
667
658
|
end
|
668
659
|
|
669
660
|
it "uses 'an' as the indefinite article for 'urn'" do
|
670
|
-
"urn".en.a.
|
661
|
+
expect( "urn".en.a ).to eq( "an urn" )
|
671
662
|
end
|
672
663
|
|
673
664
|
it "uses 'a' as the indefinite article for 'usage'" do
|
674
|
-
"usage".en.a.
|
665
|
+
expect( "usage".en.a ).to eq( "a usage" )
|
675
666
|
end
|
676
667
|
|
677
668
|
it "uses 'a' as the indefinite article for 'use'" do
|
678
|
-
"use".en.a.
|
669
|
+
expect( "use".en.a ).to eq( "a use" )
|
679
670
|
end
|
680
671
|
|
681
672
|
it "uses 'an' as the indefinite article for 'usher'" do
|
682
|
-
"usher".en.a.
|
673
|
+
expect( "usher".en.a ).to eq( "an usher" )
|
683
674
|
end
|
684
675
|
|
685
676
|
it "uses 'a' as the indefinite article for 'usual suspect'" do
|
686
|
-
"usual suspect".en.a.
|
677
|
+
expect( "usual suspect".en.a ).to eq( "a usual suspect" )
|
687
678
|
end
|
688
679
|
|
689
680
|
it "uses 'a' as the indefinite article for 'usurer'" do
|
690
|
-
"usurer".en.a.
|
681
|
+
expect( "usurer".en.a ).to eq( "a usurer" )
|
691
682
|
end
|
692
683
|
|
693
684
|
it "uses 'a' as the indefinite article for 'usurper'" do
|
694
|
-
"usurper".en.a.
|
685
|
+
expect( "usurper".en.a ).to eq( "a usurper" )
|
695
686
|
end
|
696
687
|
|
697
688
|
it "uses 'a' as the indefinite article for 'utensil'" do
|
698
|
-
"utensil".en.a.
|
689
|
+
expect( "utensil".en.a ).to eq( "a utensil" )
|
699
690
|
end
|
700
691
|
|
701
692
|
it "uses 'a' as the indefinite article for 'utility'" do
|
702
|
-
"utility".en.a.
|
693
|
+
expect( "utility".en.a ).to eq( "a utility" )
|
703
694
|
end
|
704
695
|
|
705
696
|
it "uses 'an' as the indefinite article for 'utmost urgency'" do
|
706
|
-
"utmost urgency".en.a.
|
697
|
+
expect( "utmost urgency".en.a ).to eq( "an utmost urgency" )
|
707
698
|
end
|
708
699
|
|
709
700
|
it "uses 'a' as the indefinite article for 'utopia'" do
|
710
|
-
"utopia".en.a.
|
701
|
+
expect( "utopia".en.a ).to eq( "a utopia" )
|
711
702
|
end
|
712
703
|
|
713
704
|
it "uses 'an' as the indefinite article for 'utterance'" do
|
714
|
-
"utterance".en.a.
|
705
|
+
expect( "utterance".en.a ).to eq( "an utterance" )
|
715
706
|
end
|
716
707
|
|
717
708
|
it "uses 'a' as the indefinite article for 'V.I.P.'" do
|
718
|
-
"V.I.P.".en.a.
|
709
|
+
expect( "V.I.P.".en.a ).to eq( "a V.I.P." )
|
719
710
|
end
|
720
711
|
|
721
712
|
it "uses 'a' as the indefinite article for 'VIPER'" do
|
722
|
-
"VIPER".en.a.
|
713
|
+
expect( "VIPER".en.a ).to eq( "a VIPER" )
|
723
714
|
end
|
724
715
|
|
725
716
|
it "uses 'a' as the indefinite article for 'viper'" do
|
726
|
-
"viper".en.a.
|
717
|
+
expect( "viper".en.a ).to eq( "a viper" )
|
727
718
|
end
|
728
719
|
|
729
720
|
it "uses 'an' as the indefinite article for 'X-ray'" do
|
730
|
-
"X-ray".en.a.
|
721
|
+
expect( "X-ray".en.a ).to eq( "an X-ray" )
|
731
722
|
end
|
732
723
|
|
733
724
|
it "uses 'an' as the indefinite article for 'X.O.'" do
|
734
|
-
"X.O.".en.a.
|
725
|
+
expect( "X.O.".en.a ).to eq( "an X.O." )
|
735
726
|
end
|
736
727
|
|
737
728
|
it "uses 'a' as the indefinite article for 'XYLAPHONE'" do
|
738
|
-
"XYLAPHONE".en.a.
|
729
|
+
expect( "XYLAPHONE".en.a ).to eq( "a XYLAPHONE" )
|
739
730
|
end
|
740
731
|
|
741
732
|
it "uses 'an' as the indefinite article for 'XY chromosome'" do
|
742
|
-
"XY chromosome".en.a.
|
733
|
+
expect( "XY chromosome".en.a ).to eq( "an XY chromosome" )
|
743
734
|
end
|
744
735
|
|
745
736
|
it "uses 'a' as the indefinite article for 'xenophobe'" do
|
746
|
-
"xenophobe".en.a.
|
737
|
+
expect( "xenophobe".en.a ).to eq( "a xenophobe" )
|
747
738
|
end
|
748
739
|
|
749
740
|
it "uses 'a' as the indefinite article for 'Y-shaped pipe'" do
|
750
|
-
"Y-shaped pipe".en.a.
|
741
|
+
expect( "Y-shaped pipe".en.a ).to eq( "a Y-shaped pipe" )
|
751
742
|
end
|
752
743
|
|
753
744
|
it "uses 'a' as the indefinite article for 'Y.Z. plane'" do
|
754
|
-
"Y.Z. plane".en.a.
|
745
|
+
expect( "Y.Z. plane".en.a ).to eq( "a Y.Z. plane" )
|
755
746
|
end
|
756
747
|
|
757
748
|
it "uses 'a' as the indefinite article for 'YMCA'" do
|
758
|
-
"YMCA".en.a.
|
749
|
+
expect( "YMCA".en.a ).to eq( "a YMCA" )
|
759
750
|
end
|
760
751
|
|
761
752
|
it "uses 'an' as the indefinite article for 'YBLENT eye'" do
|
762
|
-
"YBLENT eye".en.a.
|
753
|
+
expect( "YBLENT eye".en.a ).to eq( "an YBLENT eye" )
|
763
754
|
end
|
764
755
|
|
765
756
|
it "uses 'an' as the indefinite article for 'yblent eye'" do
|
766
|
-
"yblent eye".en.a.
|
757
|
+
expect( "yblent eye".en.a ).to eq( "an yblent eye" )
|
767
758
|
end
|
768
759
|
|
769
760
|
it "uses 'an' as the indefinite article for 'yclad body'" do
|
770
|
-
"yclad body".en.a.
|
761
|
+
expect( "yclad body".en.a ).to eq( "an yclad body" )
|
771
762
|
end
|
772
763
|
|
773
764
|
it "uses 'a' as the indefinite article for 'yellowing'" do
|
774
|
-
"yellowing".en.a.
|
765
|
+
expect( "yellowing".en.a ).to eq( "a yellowing" )
|
775
766
|
end
|
776
767
|
|
777
768
|
it "uses 'a' as the indefinite article for 'yield'" do
|
778
|
-
"yield".en.a.
|
769
|
+
expect( "yield".en.a ).to eq( "a yield" )
|
779
770
|
end
|
780
771
|
|
781
772
|
it "uses 'a' as the indefinite article for 'youth'" do
|
782
|
-
"youth".en.a.
|
773
|
+
expect( "youth".en.a ).to eq( "a youth" )
|
783
774
|
end
|
784
775
|
|
785
776
|
it "uses 'a' as the indefinite article for 'youth'" do
|
786
|
-
"youth".en.a.
|
777
|
+
expect( "youth".en.a ).to eq( "a youth" )
|
787
778
|
end
|
788
779
|
|
789
780
|
it "uses 'an' as the indefinite article for 'ypsiliform junction'" do
|
790
|
-
"ypsiliform junction".en.a.
|
781
|
+
expect( "ypsiliform junction".en.a ).to eq( "an ypsiliform junction" )
|
791
782
|
end
|
792
783
|
|
793
784
|
it "uses 'an' as the indefinite article for 'yttrium atom'" do
|
794
|
-
"yttrium atom".en.a.
|
785
|
+
expect( "yttrium atom".en.a ).to eq( "an yttrium atom" )
|
795
786
|
end
|
796
787
|
|
797
788
|
it "uses 'a' as the indefinite article for 'zoo'" do
|
798
|
-
"zoo".en.a.
|
789
|
+
expect( "zoo".en.a ).to eq( "a zoo" )
|
799
790
|
end
|
800
791
|
|
801
792
|
|
802
793
|
it "uses correct pluralization to form the negative article" do
|
803
|
-
"mouse".en.no.
|
794
|
+
expect( "mouse".en.no ).to eq( "no mice" )
|
804
795
|
end
|
805
796
|
|
806
797
|
it "uses currect pluralization for noun phrases to form the negative article" do
|
807
|
-
"univariate statistic".en.no.
|
798
|
+
expect( "univariate statistic".en.no ).to eq( "no univariate statistics" )
|
808
799
|
end
|
809
800
|
|
810
801
|
it "uses the correct pluralization for 'Secretary of State' to form the negative article" do
|
811
|
-
"Secretary of State".en.no.
|
802
|
+
expect( "Secretary of State".en.no ).to eq( "no Secretaries of State" )
|
812
803
|
end
|
813
804
|
|
814
805
|
|
815
806
|
context "lprintf formatters" do
|
816
807
|
|
817
808
|
it "registers the :A lprintf formatter" do
|
818
|
-
Linguistics::EN.lprintf_formatters.
|
809
|
+
expect( Linguistics::EN.lprintf_formatters ).to include( :A )
|
819
810
|
end
|
820
811
|
|
821
812
|
it "registers the :AN lprintf formatter" do
|
822
|
-
Linguistics::EN.lprintf_formatters.
|
813
|
+
expect( Linguistics::EN.lprintf_formatters ).to include( :AN )
|
823
814
|
end
|
824
815
|
|
825
816
|
it "adds an indefinite article to the argument to %A" do
|