linguistics 2.0.2 → 2.0.3
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.
- 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
|