langue-japanese 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. data/Gemfile +1 -0
  2. data/lib/langue/japanese/inflector.rb +44 -0
  3. data/lib/langue/japanese/inflector/default.rb +454 -0
  4. data/lib/langue/japanese/inflector/inflection.rb +59 -0
  5. data/lib/langue/japanese/inflector/inflections.rb +56 -0
  6. data/lib/langue/japanese/language.rb +9 -0
  7. data/lib/langue/japanese/parser.rb +24 -7
  8. data/lib/langue/japanese/shaper.rb +2 -2
  9. data/lib/langue/japanese/structurer.rb +6 -1
  10. data/lib/langue/japanese/version.rb +1 -1
  11. data/lib/langue/japanese/words/adjectival_noun.rb +67 -0
  12. data/lib/langue/japanese/words/adjective.rb +37 -33
  13. data/lib/langue/japanese/words/adverb.rb +24 -0
  14. data/lib/langue/japanese/words/attribute.rb +52 -28
  15. data/lib/langue/japanese/words/classifier.rb +37 -5
  16. data/lib/langue/japanese/words/conjunction.rb +18 -0
  17. data/lib/langue/japanese/words/determiner.rb +24 -0
  18. data/lib/langue/japanese/words/interjection.rb +18 -0
  19. data/lib/langue/japanese/words/morpheme_filter.rb +40 -17
  20. data/lib/langue/japanese/words/noun.rb +50 -43
  21. data/lib/langue/japanese/words/particle.rb +24 -0
  22. data/lib/langue/japanese/words/period.rb +26 -26
  23. data/lib/langue/japanese/words/prefix.rb +13 -5
  24. data/lib/langue/japanese/words/pronoun.rb +5 -7
  25. data/lib/langue/japanese/words/verb.rb +59 -64
  26. data/spec/langue/japanese/data.yaml +53 -5
  27. data/spec/langue/japanese/inflector/inflection_spec.rb +80 -0
  28. data/spec/langue/japanese/inflector/inflections_spec.rb +83 -0
  29. data/spec/langue/japanese/inflector_spec.rb +1551 -0
  30. data/spec/langue/japanese/language_spec.rb +36 -0
  31. data/spec/langue/japanese/parser_spec.rb +100 -28
  32. data/spec/langue/japanese/structurer_spec.rb +8 -2
  33. data/spec/langue/japanese/words/{adjective_noun_spec.rb → adjectival_noun_spec.rb} +18 -12
  34. data/spec/langue/japanese/words/adjective_spec.rb +15 -0
  35. data/spec/langue/japanese/words/adverb_spec.rb +25 -0
  36. data/spec/langue/japanese/words/conjunction_spec.rb +25 -0
  37. data/spec/langue/japanese/words/determiner_spec.rb +25 -0
  38. data/spec/langue/japanese/words/interjection_spec.rb +25 -0
  39. data/spec/langue/japanese/words/noun_spec.rb +19 -0
  40. data/spec/langue/japanese/words/particle_spec.rb +26 -0
  41. data/spec/langue/japanese/words/period_spec.rb +6 -0
  42. data/spec/langue/japanese/words/pronoun_spec.rb +6 -0
  43. data/spec/langue/japanese/words/verb_spec.rb +79 -48
  44. data/spec/spec_helper.rb +23 -3
  45. metadata +22 -5
  46. data/lib/langue/japanese/words/adjective_noun.rb +0 -76
@@ -0,0 +1,1551 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'langue/japanese/inflector'
3
+
4
+ describe Langue::Japanese::Inflector, '#initialize' do
5
+ it 'sets an instance of Langue::Japanese::Logging::NullLogger to @logger' do
6
+ inflector = described_class.new
7
+ logger = inflector.instance_variable_get(:@logger)
8
+ logger.should be_a(Langue::Japanese::Logging::NullLogger)
9
+ end
10
+
11
+ context 'with :logger option' do
12
+ it 'sets the value of :logger option to @logger' do
13
+ inflector = described_class.new(:logger => 'logger')
14
+ logger = inflector.instance_variable_get(:@logger)
15
+ logger.should == 'logger'
16
+ end
17
+ end
18
+ end
19
+
20
+ describe Langue::Japanese::Inflector, '#inflect' do
21
+ before do
22
+ @inflector = described_class.new
23
+ end
24
+
25
+ it 'calls #inflect of the inflection with the word, with inflectional form and the options' do
26
+ inflection = mock.tap do |m|
27
+ m.should_receive(:inflect).with('word', 'form', :key => 'value')
28
+ end
29
+
30
+ described_class.inflections.stub!(:[]).with('classification').and_return(inflection)
31
+ @inflector.inflect('classification', 'word', 'form', :key => 'value')
32
+ end
33
+
34
+ it 'raises ArgumentError if the inflectional classification does not exist' do
35
+ lambda { @inflector.inflect('classification', 'word', 'form') }.should raise_error(ArgumentError, '"classification" inflection does not exist')
36
+ end
37
+
38
+ context 'with an adjective' do
39
+ context 'with 形容詞・アウオ段' do
40
+ before do
41
+ @inflection_name = '形容詞・アウオ段'
42
+ @word = '賢い'
43
+ end
44
+
45
+ it 'inflects to 未然形' do
46
+ @inflector.inflect(@inflection_name, @word, '未然形').should == '賢く'
47
+ end
48
+
49
+ it 'inflects to 未然ウ接続' do
50
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続').should == '賢かろ'
51
+ end
52
+
53
+ it 'inflects to 未然ヌ接続' do
54
+ @inflector.inflect(@inflection_name, @word, '未然ヌ接続').should == '賢から'
55
+ end
56
+
57
+ it 'inflects to 連用タ接続' do
58
+ @inflector.inflect(@inflection_name, @word, '連用タ接続').should == '賢かっ'
59
+ end
60
+
61
+ it 'inflects to 連用テ接続' do
62
+ @inflector.inflect(@inflection_name, @word, '連用テ接続', :following => 'て').should == '賢くて'
63
+ end
64
+
65
+ it 'inflects to 連用ゴザイ接続' do
66
+ @inflector.inflect(@inflection_name, @word, '連用ゴザイ接続').should == '賢う'
67
+ end
68
+
69
+ it 'inflects to 終止形' do
70
+ @inflector.inflect(@inflection_name, @word, '終止形').should == '賢い'
71
+ end
72
+
73
+ it 'inflects to 終止形-感動' do
74
+ @inflector.inflect(@inflection_name, @word, '終止形-感動').should == '賢'
75
+ end
76
+
77
+ it 'inflects to 連体形' do
78
+ @inflector.inflect(@inflection_name, @word, '連体形').should == '賢い'
79
+ end
80
+
81
+ it 'inflects to 体言接続' do
82
+ @inflector.inflect(@inflection_name, @word, '体言接続').should == '賢き'
83
+ end
84
+
85
+ it 'inflects to 仮定形' do
86
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == '賢けれ'
87
+ end
88
+
89
+ it 'inflects to 仮定縮約1' do
90
+ @inflector.inflect(@inflection_name, @word, '仮定縮約1').should == '賢けりゃ'
91
+ end
92
+
93
+ it 'inflects to 仮定縮約2' do
94
+ @inflector.inflect(@inflection_name, @word, '仮定縮約2').should == '賢きゃ'
95
+ end
96
+
97
+ it 'inflects to ガル接続' do
98
+ @inflector.inflect(@inflection_name, @word, 'ガル接続').should == '賢'
99
+ end
100
+ end
101
+
102
+ context 'with 形容詞・イ段' do
103
+ before do
104
+ @inflection_name = '形容詞・イ段'
105
+ @word = '楽しい'
106
+ end
107
+
108
+ it 'inflects to 未然形' do
109
+ @inflector.inflect(@inflection_name, @word, '未然形').should == '楽しく'
110
+ end
111
+
112
+ it 'inflects to 未然ウ接続' do
113
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続').should == '楽しかろ'
114
+ end
115
+
116
+ it 'inflects to 未然ヌ接続' do
117
+ @inflector.inflect(@inflection_name, @word, '未然ヌ接続').should == '楽しから'
118
+ end
119
+
120
+ it 'inflects to 連用タ接続' do
121
+ @inflector.inflect(@inflection_name, @word, '連用タ接続').should == '楽しかっ'
122
+ end
123
+
124
+ it 'inflects to 連用テ接続' do
125
+ @inflector.inflect(@inflection_name, @word, '連用テ接続', :following => 'て').should == '楽しくて'
126
+ end
127
+
128
+ it 'inflects to 連用ゴザイ接続' do
129
+ @inflector.inflect(@inflection_name, @word, '連用ゴザイ接続').should == '楽しゅう'
130
+ end
131
+
132
+ it 'inflects to 終止形' do
133
+ @inflector.inflect(@inflection_name, @word, '終止形').should == '楽しい'
134
+ end
135
+
136
+ it 'inflects to 終止形-感動' do
137
+ @inflector.inflect(@inflection_name, @word, '終止形-感動').should == '楽し'
138
+ end
139
+
140
+ it 'inflects to 連体形' do
141
+ @inflector.inflect(@inflection_name, @word, '連体形').should == '楽しい'
142
+ end
143
+
144
+ it 'inflects to 体言接続' do
145
+ @inflector.inflect(@inflection_name, @word, '体言接続').should == '楽しき'
146
+ end
147
+
148
+ it 'inflects to 仮定形' do
149
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == '楽しけれ'
150
+ end
151
+
152
+ it 'inflects to 仮定縮約1' do
153
+ @inflector.inflect(@inflection_name, @word, '仮定縮約1').should == '楽しけりゃ'
154
+ end
155
+
156
+ it 'inflects to 仮定縮約2' do
157
+ @inflector.inflect(@inflection_name, @word, '仮定縮約2').should == '楽しきゃ'
158
+ end
159
+
160
+ it 'inflects to ガル接続' do
161
+ @inflector.inflect(@inflection_name, @word, 'ガル接続').should == '楽し'
162
+ end
163
+ end
164
+ end
165
+
166
+ context 'with an adjectival noun' do
167
+ before do
168
+ @inflection_name = '形容動詞'
169
+ @word = '静か'
170
+ end
171
+
172
+ it 'inflects to 未然形' do
173
+ @inflector.inflect(@inflection_name, @word, '未然形').should == '静かじゃ'
174
+ end
175
+
176
+ it 'inflects to 未然ウ接続' do
177
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続').should == '静かだろ'
178
+ end
179
+
180
+ it 'inflects to 未然ヌ接続' do
181
+ @inflector.inflect(@inflection_name, @word, '未然ヌ接続').should == '静かなら'
182
+ end
183
+
184
+ it 'inflects to 連用タ接続' do
185
+ @inflector.inflect(@inflection_name, @word, '連用タ接続').should == '静かだっ'
186
+ end
187
+
188
+ it 'inflects to 連用テ接続' do
189
+ @inflector.inflect(@inflection_name, @word, '連用テ接続', :following => 'て').should == '静かで'
190
+ end
191
+
192
+ it 'inflects to 連用ゴザイ接続' do
193
+ @inflector.inflect(@inflection_name, @word, '連用ゴザイ接続').should == '静かで'
194
+ end
195
+
196
+ it 'inflects to 終止形' do
197
+ @inflector.inflect(@inflection_name, @word, '終止形').should == '静かだ'
198
+ end
199
+
200
+ it 'inflects to 終止形-感動' do
201
+ @inflector.inflect(@inflection_name, @word, '終止形-感動').should == '静か'
202
+ end
203
+
204
+ it 'inflects to 連体形' do
205
+ @inflector.inflect(@inflection_name, @word, '連体形').should == '静かな'
206
+ end
207
+
208
+ it 'inflects to 体言接続' do
209
+ @inflector.inflect(@inflection_name, @word, '体言接続').should == '静かな'
210
+ end
211
+
212
+ it 'inflects to 仮定形' do
213
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == '静かなら'
214
+ end
215
+
216
+ it 'inflects to 仮定縮約1' do
217
+ @inflector.inflect(@inflection_name, @word, '仮定縮約1').should == '静かなら'
218
+ end
219
+
220
+ it 'inflects to 仮定縮約2' do
221
+ @inflector.inflect(@inflection_name, @word, '仮定縮約2').should == '静かなら'
222
+ end
223
+
224
+ it 'inflects to ガル接続' do
225
+ @inflector.inflect(@inflection_name, @word, 'ガル接続').should == '静か'
226
+ end
227
+
228
+ context 'with :desu option' do
229
+ it 'inflects to 未然ウ接続' do
230
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続', :desu => true).should == '静かでしょ'
231
+ end
232
+
233
+ it 'inflects to 連用タ接続' do
234
+ @inflector.inflect(@inflection_name, @word, '連用タ接続', :desu => true).should == '静かでし'
235
+ end
236
+
237
+ it 'inflects to 連用テ接続' do
238
+ @inflector.inflect(@inflection_name, @word, '連用テ接続', :following => 'て', :desu => true).should == '静かでして'
239
+ end
240
+
241
+ it 'inflects to 終止形' do
242
+ @inflector.inflect(@inflection_name, @word, '終止形', :desu => true).should == '静かです'
243
+ end
244
+ end
245
+ end
246
+
247
+ context 'with a verb' do
248
+ context 'with 一段' do
249
+ before do
250
+ @inflection_name = '一段'
251
+ @word = '食べる'
252
+ end
253
+
254
+ it 'inflects to 未然形' do
255
+ @inflector.inflect(@inflection_name, @word, '未然形').should == '食べ'
256
+ end
257
+
258
+ it 'inflects to 未然ウ接続' do
259
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続').should == '食べよ'
260
+ end
261
+
262
+ it 'inflects to 未然ヌ接続' do
263
+ @inflector.inflect(@inflection_name, @word, '未然ヌ接続').should == '食べ'
264
+ end
265
+
266
+ it 'inflects to 未然レル接続' do
267
+ @inflector.inflect(@inflection_name, @word, '未然レル接続').should == '食べ'
268
+ end
269
+
270
+ it 'inflects to 連用形' do
271
+ @inflector.inflect(@inflection_name, @word, '連用形').should == '食べ'
272
+ end
273
+
274
+ it 'inflects to 連用タ接続' do
275
+ @inflector.inflect(@inflection_name, @word, '連用タ接続', :following => 'た').should == '食べた'
276
+ end
277
+
278
+ it 'inflects to 終止形' do
279
+ @inflector.inflect(@inflection_name, @word, '終止形').should == '食べる'
280
+ end
281
+
282
+ it 'inflects to 仮定形' do
283
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == '食べれ'
284
+ end
285
+
286
+ it 'inflects to 仮定縮約' do
287
+ @inflector.inflect(@inflection_name, @word, '仮定縮約').should == '食べりゃ'
288
+ end
289
+
290
+ it 'inflects to 命令形' do
291
+ @inflector.inflect(@inflection_name, @word, '命令形').should == '食べろ'
292
+ end
293
+ end
294
+
295
+ context 'with 一段・クレル' do
296
+ before do
297
+ @inflection_name = '一段・クレル'
298
+ @word = '呉れる'
299
+ end
300
+
301
+ it 'inflects to 未然形' do
302
+ @inflector.inflect(@inflection_name, @word, '未然形').should == '呉れ'
303
+ end
304
+
305
+ it 'inflects to 未然ウ接続' do
306
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続').should == '呉れよ'
307
+ end
308
+
309
+ it 'inflects to 未然ヌ接続' do
310
+ @inflector.inflect(@inflection_name, @word, '未然ヌ接続').should == '呉れ'
311
+ end
312
+
313
+ it 'inflects to 未然レル接続' do
314
+ @inflector.inflect(@inflection_name, @word, '未然レル接続').should == '呉れ'
315
+ end
316
+
317
+ it 'inflects to 連用形' do
318
+ @inflector.inflect(@inflection_name, @word, '連用形').should == '呉れ'
319
+ end
320
+
321
+ it 'inflects to 連用タ接続' do
322
+ @inflector.inflect(@inflection_name, @word, '連用タ接続', :following => 'た').should == '呉れた'
323
+ end
324
+
325
+ it 'inflects to 終止形' do
326
+ @inflector.inflect(@inflection_name, @word, '終止形').should == '呉れる'
327
+ end
328
+
329
+ it 'inflects to 仮定形' do
330
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == '呉れれ'
331
+ end
332
+
333
+ it 'inflects to 仮定縮約' do
334
+ @inflector.inflect(@inflection_name, @word, '仮定縮約').should == '呉れりゃ'
335
+ end
336
+
337
+ it 'inflects to 命令形' do
338
+ @inflector.inflect(@inflection_name, @word, '命令形').should == '呉れ'
339
+ end
340
+ end
341
+
342
+ context 'with 五段・カ行イ音便' do
343
+ before do
344
+ @inflection_name = '五段・カ行イ音便'
345
+ @word = '書く'
346
+ end
347
+
348
+ it 'inflects to 未然形' do
349
+ @inflector.inflect(@inflection_name, @word, '未然形').should == '書か'
350
+ end
351
+
352
+ it 'inflects to 未然ウ接続' do
353
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続').should == '書こ'
354
+ end
355
+
356
+ it 'inflects to 未然ヌ接続' do
357
+ @inflector.inflect(@inflection_name, @word, '未然ヌ接続').should == '書か'
358
+ end
359
+
360
+ it 'inflects to 未然レル接続' do
361
+ @inflector.inflect(@inflection_name, @word, '未然レル接続').should == '書か'
362
+ end
363
+
364
+ it 'inflects to 連用形' do
365
+ @inflector.inflect(@inflection_name, @word, '連用形').should == '書き'
366
+ end
367
+
368
+ it 'inflects to 連用タ接続' do
369
+ @inflector.inflect(@inflection_name, @word, '連用タ接続', :following => 'た').should == '書いた'
370
+ end
371
+
372
+ it 'inflects to 終止形' do
373
+ @inflector.inflect(@inflection_name, @word, '終止形').should == '書く'
374
+ end
375
+
376
+ it 'inflects to 仮定形' do
377
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == '書け'
378
+ end
379
+
380
+ it 'inflects to 仮定縮約' do
381
+ @inflector.inflect(@inflection_name, @word, '仮定縮約').should == '書きゃ'
382
+ end
383
+
384
+ it 'inflects to 命令形' do
385
+ @inflector.inflect(@inflection_name, @word, '命令形').should == '書け'
386
+ end
387
+ end
388
+
389
+ context 'with 五段・カ行促音便' do
390
+ before do
391
+ @inflection_name = '五段・カ行促音便'
392
+ @word = '付いて行く'
393
+ end
394
+
395
+ it 'inflects to 未然形' do
396
+ @inflector.inflect(@inflection_name, @word, '未然形').should == '付いて行か'
397
+ end
398
+
399
+ it 'inflects to 未然ウ接続' do
400
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続').should == '付いて行こ'
401
+ end
402
+
403
+ it 'inflects to 未然ヌ接続' do
404
+ @inflector.inflect(@inflection_name, @word, '未然ヌ接続').should == '付いて行か'
405
+ end
406
+
407
+ it 'inflects to 未然レル接続' do
408
+ @inflector.inflect(@inflection_name, @word, '未然レル接続').should == '付いて行か'
409
+ end
410
+
411
+ it 'inflects to 連用形' do
412
+ @inflector.inflect(@inflection_name, @word, '連用形').should == '付いて行き'
413
+ end
414
+
415
+ it 'inflects to 連用タ接続' do
416
+ @inflector.inflect(@inflection_name, @word, '連用タ接続', :following => 'た').should == '付いて行った'
417
+ end
418
+
419
+ it 'inflects to 終止形' do
420
+ @inflector.inflect(@inflection_name, @word, '終止形').should == '付いて行く'
421
+ end
422
+
423
+ it 'inflects to 仮定形' do
424
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == '付いて行け'
425
+ end
426
+
427
+ it 'inflects to 仮定縮約' do
428
+ @inflector.inflect(@inflection_name, @word, '仮定縮約').should == '付いて行きゃ'
429
+ end
430
+
431
+ it 'inflects to 命令形' do
432
+ @inflector.inflect(@inflection_name, @word, '命令形').should == '付いて行け'
433
+ end
434
+ end
435
+
436
+ context 'with 五段・カ行促音便ユク' do
437
+ before do
438
+ @inflection_name = '五段・カ行促音便ユク'
439
+ @word = '心行く'
440
+ end
441
+
442
+ it 'inflects to 未然形' do
443
+ @inflector.inflect(@inflection_name, @word, '未然形').should == '心行か'
444
+ end
445
+
446
+ it 'inflects to 未然ウ接続' do
447
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続').should == '心行こ'
448
+ end
449
+
450
+ it 'inflects to 未然ヌ接続' do
451
+ @inflector.inflect(@inflection_name, @word, '未然ヌ接続').should == '心行か'
452
+ end
453
+
454
+ it 'inflects to 未然レル接続' do
455
+ @inflector.inflect(@inflection_name, @word, '未然レル接続').should == '心行か'
456
+ end
457
+
458
+ it 'inflects to 連用形' do
459
+ @inflector.inflect(@inflection_name, @word, '連用形').should == '心行き'
460
+ end
461
+
462
+ it 'inflects to 連用タ接続' do
463
+ @inflector.inflect(@inflection_name, @word, '連用タ接続', :following => 'た').should == '心行った'
464
+ end
465
+
466
+ it 'inflects to 終止形' do
467
+ @inflector.inflect(@inflection_name, @word, '終止形').should == '心行く'
468
+ end
469
+
470
+ it 'inflects to 仮定形' do
471
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == '心行け'
472
+ end
473
+
474
+ it 'inflects to 仮定縮約' do
475
+ @inflector.inflect(@inflection_name, @word, '仮定縮約').should == '心行きゃ'
476
+ end
477
+
478
+ it 'inflects to 命令形' do
479
+ @inflector.inflect(@inflection_name, @word, '命令形').should == '心行け'
480
+ end
481
+ end
482
+
483
+ context 'with カ変・クル' do
484
+ before do
485
+ @inflection_name = 'カ変・クル'
486
+ @word = 'くる'
487
+ end
488
+
489
+ it 'inflects to 未然形' do
490
+ @inflector.inflect(@inflection_name, @word, '未然形').should == 'こ'
491
+ end
492
+
493
+ it 'inflects to 未然ウ接続' do
494
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続').should == 'こよ'
495
+ end
496
+
497
+ it 'inflects to 未然ヌ接続' do
498
+ @inflector.inflect(@inflection_name, @word, '未然ヌ接続').should == 'こ'
499
+ end
500
+
501
+ it 'inflects to 未然レル接続' do
502
+ @inflector.inflect(@inflection_name, @word, '未然レル接続').should == 'こ'
503
+ end
504
+
505
+ it 'inflects to 連用形' do
506
+ @inflector.inflect(@inflection_name, @word, '連用形').should == 'き'
507
+ end
508
+
509
+ it 'inflects to 連用タ接続' do
510
+ @inflector.inflect(@inflection_name, @word, '連用タ接続', :following => 'た').should == 'きた'
511
+ end
512
+
513
+ it 'inflects to 終止形' do
514
+ @inflector.inflect(@inflection_name, @word, '終止形').should == 'くる'
515
+ end
516
+
517
+ it 'inflects to 仮定形' do
518
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == 'くれ'
519
+ end
520
+
521
+ it 'inflects to 仮定縮約' do
522
+ @inflector.inflect(@inflection_name, @word, '仮定縮約').should == 'くりゃ'
523
+ end
524
+
525
+ it 'inflects to 命令形' do
526
+ @inflector.inflect(@inflection_name, @word, '命令形').should == 'こい'
527
+ end
528
+ end
529
+
530
+ context 'with カ変・来ル' do
531
+ before do
532
+ @inflection_name = 'カ変・来ル'
533
+ @word = '来る'
534
+ end
535
+
536
+ it 'inflects to 未然形' do
537
+ @inflector.inflect(@inflection_name, @word, '未然形').should == '来'
538
+ end
539
+
540
+ it 'inflects to 未然ウ接続' do
541
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続').should == '来よ'
542
+ end
543
+
544
+ it 'inflects to 未然ヌ接続' do
545
+ @inflector.inflect(@inflection_name, @word, '未然ヌ接続').should == '来'
546
+ end
547
+
548
+ it 'inflects to 未然レル接続' do
549
+ @inflector.inflect(@inflection_name, @word, '未然レル接続').should == '来'
550
+ end
551
+
552
+ it 'inflects to 連用形' do
553
+ @inflector.inflect(@inflection_name, @word, '連用形').should == '来'
554
+ end
555
+
556
+ it 'inflects to 連用タ接続' do
557
+ @inflector.inflect(@inflection_name, @word, '連用タ接続', :following => 'た').should == '来た'
558
+ end
559
+
560
+ it 'inflects to 終止形' do
561
+ @inflector.inflect(@inflection_name, @word, '終止形').should == '来る'
562
+ end
563
+
564
+ it 'inflects to 仮定形' do
565
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == '来れ'
566
+ end
567
+
568
+ it 'inflects to 仮定縮約' do
569
+ @inflector.inflect(@inflection_name, @word, '仮定縮約').should == '来りゃ'
570
+ end
571
+
572
+ it 'inflects to 命令形' do
573
+ @inflector.inflect(@inflection_name, @word, '命令形').should == '来い'
574
+ end
575
+ end
576
+
577
+ context 'with 五段・ガ行' do
578
+ before do
579
+ @inflection_name = '五段・ガ行'
580
+ @word = '仰ぐ'
581
+ end
582
+
583
+ it 'inflects to 未然形' do
584
+ @inflector.inflect(@inflection_name, @word, '未然形').should == '仰が'
585
+ end
586
+
587
+ it 'inflects to 未然ウ接続' do
588
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続').should == '仰ご'
589
+ end
590
+
591
+ it 'inflects to 未然ヌ接続' do
592
+ @inflector.inflect(@inflection_name, @word, '未然ヌ接続').should == '仰が'
593
+ end
594
+
595
+ it 'inflects to 未然レル接続' do
596
+ @inflector.inflect(@inflection_name, @word, '未然レル接続').should == '仰が'
597
+ end
598
+
599
+ it 'inflects to 連用形' do
600
+ @inflector.inflect(@inflection_name, @word, '連用形').should == '仰ぎ'
601
+ end
602
+
603
+ it 'inflects to 連用タ接続' do
604
+ @inflector.inflect(@inflection_name, @word, '連用タ接続', :following => 'た').should == '仰いだ'
605
+ end
606
+
607
+ it 'inflects to 終止形' do
608
+ @inflector.inflect(@inflection_name, @word, '終止形').should == '仰ぐ'
609
+ end
610
+
611
+ it 'inflects to 仮定形' do
612
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == '仰げ'
613
+ end
614
+
615
+ it 'inflects to 仮定縮約' do
616
+ @inflector.inflect(@inflection_name, @word, '仮定縮約').should == '仰ぎゃ'
617
+ end
618
+
619
+ it 'inflects to 命令形' do
620
+ @inflector.inflect(@inflection_name, @word, '命令形').should == '仰げ'
621
+ end
622
+ end
623
+
624
+ context 'with 五段・サ行' do
625
+ before do
626
+ @inflection_name = '五段・サ行'
627
+ @word = '話す'
628
+ end
629
+
630
+ it 'inflects to 未然形' do
631
+ @inflector.inflect(@inflection_name, @word, '未然形').should == '話さ'
632
+ end
633
+
634
+ it 'inflects to 未然ウ接続' do
635
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続').should == '話そ'
636
+ end
637
+
638
+ it 'inflects to 未然ヌ接続' do
639
+ @inflector.inflect(@inflection_name, @word, '未然ヌ接続').should == '話さ'
640
+ end
641
+
642
+ it 'inflects to 未然レル接続' do
643
+ @inflector.inflect(@inflection_name, @word, '未然レル接続').should == '話さ'
644
+ end
645
+
646
+ it 'inflects to 連用形' do
647
+ @inflector.inflect(@inflection_name, @word, '連用形').should == '話し'
648
+ end
649
+
650
+ it 'inflects to 連用タ接続' do
651
+ @inflector.inflect(@inflection_name, @word, '連用タ接続', :following => 'た').should == '話した'
652
+ end
653
+
654
+ it 'inflects to 終止形' do
655
+ @inflector.inflect(@inflection_name, @word, '終止形').should == '話す'
656
+ end
657
+
658
+ it 'inflects to 仮定形' do
659
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == '話せ'
660
+ end
661
+
662
+ it 'inflects to 仮定縮約' do
663
+ @inflector.inflect(@inflection_name, @word, '仮定縮約').should == '話しゃ'
664
+ end
665
+
666
+ it 'inflects to 命令形' do
667
+ @inflector.inflect(@inflection_name, @word, '命令形').should == '話せ'
668
+ end
669
+ end
670
+
671
+ context 'with 四段・サ行' do
672
+ before do
673
+ @inflection_name = '四段・サ行'
674
+ @word = '天照らす'
675
+ end
676
+
677
+ it 'inflects to 未然形' do
678
+ @inflector.inflect(@inflection_name, @word, '未然形').should == '天照らさ'
679
+ end
680
+
681
+ it 'inflects to 未然ウ接続' do
682
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続').should == '天照らそ'
683
+ end
684
+
685
+ it 'inflects to 未然ヌ接続' do
686
+ @inflector.inflect(@inflection_name, @word, '未然ヌ接続').should == '天照らさ'
687
+ end
688
+
689
+ it 'inflects to 未然レル接続' do
690
+ @inflector.inflect(@inflection_name, @word, '未然レル接続').should == '天照らさ'
691
+ end
692
+
693
+ it 'inflects to 連用形' do
694
+ @inflector.inflect(@inflection_name, @word, '連用形').should == '天照らし'
695
+ end
696
+
697
+ it 'inflects to 連用タ接続' do
698
+ @inflector.inflect(@inflection_name, @word, '連用タ接続', :following => 'た').should == '天照らした'
699
+ end
700
+
701
+ it 'inflects to 終止形' do
702
+ @inflector.inflect(@inflection_name, @word, '終止形').should == '天照らす'
703
+ end
704
+
705
+ it 'inflects to 仮定形' do
706
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == '天照らせ'
707
+ end
708
+
709
+ it 'inflects to 仮定縮約' do
710
+ @inflector.inflect(@inflection_name, @word, '仮定縮約').should == '天照らしゃ'
711
+ end
712
+
713
+ it 'inflects to 命令形' do
714
+ @inflector.inflect(@inflection_name, @word, '命令形').should == '天照らせ'
715
+ end
716
+ end
717
+
718
+ context 'with サ変・スル' do
719
+ before do
720
+ @inflection_name = 'サ変・スル'
721
+ @word = 'する'
722
+ end
723
+
724
+ it 'inflects to 未然形' do
725
+ @inflector.inflect(@inflection_name, @word, '未然形').should == 'し'
726
+ end
727
+
728
+ it 'inflects to 未然ウ接続' do
729
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続').should == 'しよ'
730
+ end
731
+
732
+ it 'inflects to 未然ヌ接続' do
733
+ @inflector.inflect(@inflection_name, @word, '未然ヌ接続').should == 'せ'
734
+ end
735
+
736
+ it 'inflects to 未然レル接続' do
737
+ @inflector.inflect(@inflection_name, @word, '未然レル接続').should == 'さ'
738
+ end
739
+
740
+ it 'inflects to 連用形' do
741
+ @inflector.inflect(@inflection_name, @word, '連用形').should == 'し'
742
+ end
743
+
744
+ it 'inflects to 連用タ接続' do
745
+ @inflector.inflect(@inflection_name, @word, '連用タ接続', :following => 'た').should == 'した'
746
+ end
747
+
748
+ it 'inflects to 終止形' do
749
+ @inflector.inflect(@inflection_name, @word, '終止形').should == 'する'
750
+ end
751
+
752
+ it 'inflects to 仮定形' do
753
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == 'すれ'
754
+ end
755
+
756
+ it 'inflects to 仮定縮約' do
757
+ @inflector.inflect(@inflection_name, @word, '仮定縮約').should == 'すりゃ'
758
+ end
759
+
760
+ it 'inflects to 命令形' do
761
+ @inflector.inflect(@inflection_name, @word, '命令形').should == 'しろ'
762
+ end
763
+ end
764
+
765
+ context 'with サ変・−スル' do
766
+ before do
767
+ @inflection_name = 'サ変・−スル'
768
+ @word = '発する'
769
+ end
770
+
771
+ it 'inflects to 未然形' do
772
+ @inflector.inflect(@inflection_name, @word, '未然形').should == '発し'
773
+ end
774
+
775
+ it 'inflects to 未然ウ接続' do
776
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続').should == '発しよ'
777
+ end
778
+
779
+ it 'inflects to 未然ヌ接続' do
780
+ @inflector.inflect(@inflection_name, @word, '未然ヌ接続').should == '発し'
781
+ end
782
+
783
+ it 'inflects to 未然レル接続' do
784
+ @inflector.inflect(@inflection_name, @word, '未然レル接続').should == '発せ'
785
+ end
786
+
787
+ it 'inflects to 連用形' do
788
+ @inflector.inflect(@inflection_name, @word, '連用形').should == '発し'
789
+ end
790
+
791
+ it 'inflects to 連用タ接続' do
792
+ @inflector.inflect(@inflection_name, @word, '連用タ接続', :following => 'た').should == '発した'
793
+ end
794
+
795
+ it 'inflects to 終止形' do
796
+ @inflector.inflect(@inflection_name, @word, '終止形').should == '発する'
797
+ end
798
+
799
+ it 'inflects to 仮定形' do
800
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == '発すれ'
801
+ end
802
+
803
+ it 'inflects to 仮定縮約' do
804
+ @inflector.inflect(@inflection_name, @word, '仮定縮約').should == '発すりゃ'
805
+ end
806
+
807
+ it 'inflects to 命令形' do
808
+ @inflector.inflect(@inflection_name, @word, '命令形').should == '発しろ'
809
+ end
810
+ end
811
+
812
+ context 'with サ変・−ズル' do
813
+ before do
814
+ @inflection_name = 'サ変・−ズル'
815
+ @word = '存ずる'
816
+ end
817
+
818
+ it 'inflects to 未然形' do
819
+ @inflector.inflect(@inflection_name, @word, '未然形').should == '存ぜ'
820
+ end
821
+
822
+ it 'inflects to 未然ウ接続' do
823
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続').should == '存ぜよ'
824
+ end
825
+
826
+ it 'inflects to 未然ヌ接続' do
827
+ @inflector.inflect(@inflection_name, @word, '未然ヌ接続').should == '存ぜ'
828
+ end
829
+
830
+ it 'inflects to 未然レル接続' do
831
+ @inflector.inflect(@inflection_name, @word, '未然レル接続').should == '存ぜ'
832
+ end
833
+
834
+ it 'inflects to 連用形' do
835
+ @inflector.inflect(@inflection_name, @word, '連用形').should == '存じ'
836
+ end
837
+
838
+ it 'inflects to 連用タ接続' do
839
+ @inflector.inflect(@inflection_name, @word, '連用タ接続', :following => 'た').should == '存じた'
840
+ end
841
+
842
+ it 'inflects to 終止形' do
843
+ @inflector.inflect(@inflection_name, @word, '終止形').should == '存ずる'
844
+ end
845
+
846
+ it 'inflects to 仮定形' do
847
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == '存ずれ'
848
+ end
849
+
850
+ it 'inflects to 仮定縮約' do
851
+ @inflector.inflect(@inflection_name, @word, '仮定縮約').should == '存ずりゃ'
852
+ end
853
+
854
+ it 'inflects to 命令形' do
855
+ @inflector.inflect(@inflection_name, @word, '命令形').should == '存じろ'
856
+ end
857
+ end
858
+
859
+ context 'with 五段・タ行' do
860
+ before do
861
+ @inflection_name = '五段・タ行'
862
+ @word = '持つ'
863
+ end
864
+
865
+ it 'inflects to 未然形' do
866
+ @inflector.inflect(@inflection_name, @word, '未然形').should == '持た'
867
+ end
868
+
869
+ it 'inflects to 未然ウ接続' do
870
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続').should == '持と'
871
+ end
872
+
873
+ it 'inflects to 未然ヌ接続' do
874
+ @inflector.inflect(@inflection_name, @word, '未然ヌ接続').should == '持た'
875
+ end
876
+
877
+ it 'inflects to 未然レル接続' do
878
+ @inflector.inflect(@inflection_name, @word, '未然レル接続').should == '持た'
879
+ end
880
+
881
+ it 'inflects to 連用形' do
882
+ @inflector.inflect(@inflection_name, @word, '連用形').should == '持ち'
883
+ end
884
+
885
+ it 'inflects to 連用タ接続' do
886
+ @inflector.inflect(@inflection_name, @word, '連用タ接続', :following => 'た').should == '持った'
887
+ end
888
+
889
+ it 'inflects to 終止形' do
890
+ @inflector.inflect(@inflection_name, @word, '終止形').should == '持つ'
891
+ end
892
+
893
+ it 'inflects to 仮定形' do
894
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == '持て'
895
+ end
896
+
897
+ it 'inflects to 仮定縮約' do
898
+ @inflector.inflect(@inflection_name, @word, '仮定縮約').should == '持ちゃ'
899
+ end
900
+
901
+ it 'inflects to 命令形' do
902
+ @inflector.inflect(@inflection_name, @word, '命令形').should == '持て'
903
+ end
904
+ end
905
+
906
+ context 'with 四段・タ行' do
907
+ before do
908
+ @inflection_name = '四段・タ行'
909
+ @word = '群立つ'
910
+ end
911
+
912
+ it 'inflects to 未然形' do
913
+ @inflector.inflect(@inflection_name, @word, '未然形').should == '群立た'
914
+ end
915
+
916
+ it 'inflects to 未然ウ接続' do
917
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続').should == '群立と'
918
+ end
919
+
920
+ it 'inflects to 未然ヌ接続' do
921
+ @inflector.inflect(@inflection_name, @word, '未然ヌ接続').should == '群立た'
922
+ end
923
+
924
+ it 'inflects to 未然レル接続' do
925
+ @inflector.inflect(@inflection_name, @word, '未然レル接続').should == '群立た'
926
+ end
927
+
928
+ it 'inflects to 連用形' do
929
+ @inflector.inflect(@inflection_name, @word, '連用形').should == '群立ち'
930
+ end
931
+
932
+ it 'inflects to 連用タ接続' do
933
+ @inflector.inflect(@inflection_name, @word, '連用タ接続', :following => 'た').should == '群立った'
934
+ end
935
+
936
+ it 'inflects to 終止形' do
937
+ @inflector.inflect(@inflection_name, @word, '終止形').should == '群立つ'
938
+ end
939
+
940
+ it 'inflects to 仮定形' do
941
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == '群立て'
942
+ end
943
+
944
+ it 'inflects to 仮定縮約' do
945
+ @inflector.inflect(@inflection_name, @word, '仮定縮約').should == '群立ちゃ'
946
+ end
947
+
948
+ it 'inflects to 命令形' do
949
+ @inflector.inflect(@inflection_name, @word, '命令形').should == '群立て'
950
+ end
951
+ end
952
+
953
+ context 'with 五段・ナ行' do
954
+ before do
955
+ @inflection_name = '五段・ナ行'
956
+ @word = '死ぬ'
957
+ end
958
+
959
+ it 'inflects to 未然形' do
960
+ @inflector.inflect(@inflection_name, @word, '未然形').should == '死な'
961
+ end
962
+
963
+ it 'inflects to 未然ウ接続' do
964
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続').should == '死の'
965
+ end
966
+
967
+ it 'inflects to 未然ヌ接続' do
968
+ @inflector.inflect(@inflection_name, @word, '未然ヌ接続').should == '死な'
969
+ end
970
+
971
+ it 'inflects to 未然レル接続' do
972
+ @inflector.inflect(@inflection_name, @word, '未然レル接続').should == '死な'
973
+ end
974
+
975
+ it 'inflects to 連用形' do
976
+ @inflector.inflect(@inflection_name, @word, '連用形').should == '死に'
977
+ end
978
+
979
+ it 'inflects to 連用タ接続' do
980
+ @inflector.inflect(@inflection_name, @word, '連用タ接続', :following => 'た').should == '死んだ'
981
+ end
982
+
983
+ it 'inflects to 終止形' do
984
+ @inflector.inflect(@inflection_name, @word, '終止形').should == '死ぬ'
985
+ end
986
+
987
+ it 'inflects to 仮定形' do
988
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == '死ね'
989
+ end
990
+
991
+ it 'inflects to 仮定縮約' do
992
+ @inflector.inflect(@inflection_name, @word, '仮定縮約').should == '死にゃ'
993
+ end
994
+
995
+ it 'inflects to 命令形' do
996
+ @inflector.inflect(@inflection_name, @word, '命令形').should == '死ね'
997
+ end
998
+ end
999
+
1000
+ context 'with 四段・ハ行' do
1001
+ before do
1002
+ @inflection_name = '四段・ハ行'
1003
+ @word = '思ふ'
1004
+ end
1005
+
1006
+ it 'inflects to 未然形' do
1007
+ @inflector.inflect(@inflection_name, @word, '未然形').should == '思は'
1008
+ end
1009
+
1010
+ it 'inflects to 未然ウ接続' do
1011
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続').should == '思ほ'
1012
+ end
1013
+
1014
+ it 'inflects to 未然ヌ接続' do
1015
+ @inflector.inflect(@inflection_name, @word, '未然ヌ接続').should == '思は'
1016
+ end
1017
+
1018
+ it 'inflects to 未然レル接続' do
1019
+ @inflector.inflect(@inflection_name, @word, '未然レル接続').should == '思は'
1020
+ end
1021
+
1022
+ it 'inflects to 連用形' do
1023
+ @inflector.inflect(@inflection_name, @word, '連用形').should == '思ひ'
1024
+ end
1025
+
1026
+ it 'inflects to 連用タ接続' do
1027
+ @inflector.inflect(@inflection_name, @word, '連用タ接続', :following => 'た').should == '思った'
1028
+ end
1029
+
1030
+ it 'inflects to 終止形' do
1031
+ @inflector.inflect(@inflection_name, @word, '終止形').should == '思ふ'
1032
+ end
1033
+
1034
+ it 'inflects to 仮定形' do
1035
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == '思へ'
1036
+ end
1037
+
1038
+ it 'inflects to 仮定縮約' do
1039
+ @inflector.inflect(@inflection_name, @word, '仮定縮約').should == '思ひゃ'
1040
+ end
1041
+
1042
+ it 'inflects to 命令形' do
1043
+ @inflector.inflect(@inflection_name, @word, '命令形').should == '思へ'
1044
+ end
1045
+ end
1046
+
1047
+ context 'with 五段・バ行' do
1048
+ before do
1049
+ @inflection_name = '五段・バ行'
1050
+ @word = '遊ぶ'
1051
+ end
1052
+
1053
+ it 'inflects to 未然形' do
1054
+ @inflector.inflect(@inflection_name, @word, '未然形').should == '遊ば'
1055
+ end
1056
+
1057
+ it 'inflects to 未然ウ接続' do
1058
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続').should == '遊ぼ'
1059
+ end
1060
+
1061
+ it 'inflects to 未然ヌ接続' do
1062
+ @inflector.inflect(@inflection_name, @word, '未然ヌ接続').should == '遊ば'
1063
+ end
1064
+
1065
+ it 'inflects to 未然レル接続' do
1066
+ @inflector.inflect(@inflection_name, @word, '未然レル接続').should == '遊ば'
1067
+ end
1068
+
1069
+ it 'inflects to 連用形' do
1070
+ @inflector.inflect(@inflection_name, @word, '連用形').should == '遊び'
1071
+ end
1072
+
1073
+ it 'inflects to 連用タ接続' do
1074
+ @inflector.inflect(@inflection_name, @word, '連用タ接続', :following => 'た').should == '遊んだ'
1075
+ end
1076
+
1077
+ it 'inflects to 終止形' do
1078
+ @inflector.inflect(@inflection_name, @word, '終止形').should == '遊ぶ'
1079
+ end
1080
+
1081
+ it 'inflects to 仮定形' do
1082
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == '遊べ'
1083
+ end
1084
+
1085
+ it 'inflects to 仮定縮約' do
1086
+ @inflector.inflect(@inflection_name, @word, '仮定縮約').should == '遊びゃ'
1087
+ end
1088
+
1089
+ it 'inflects to 命令形' do
1090
+ @inflector.inflect(@inflection_name, @word, '命令形').should == '遊べ'
1091
+ end
1092
+ end
1093
+
1094
+ context 'with 五段・マ行' do
1095
+ before do
1096
+ @inflection_name = '五段・マ行'
1097
+ @word = '編む'
1098
+ end
1099
+
1100
+ it 'inflects to 未然形' do
1101
+ @inflector.inflect(@inflection_name, @word, '未然形').should == '編ま'
1102
+ end
1103
+
1104
+ it 'inflects to 未然ウ接続' do
1105
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続').should == '編も'
1106
+ end
1107
+
1108
+ it 'inflects to 未然ヌ接続' do
1109
+ @inflector.inflect(@inflection_name, @word, '未然ヌ接続').should == '編ま'
1110
+ end
1111
+
1112
+ it 'inflects to 未然レル接続' do
1113
+ @inflector.inflect(@inflection_name, @word, '未然レル接続').should == '編ま'
1114
+ end
1115
+
1116
+ it 'inflects to 連用形' do
1117
+ @inflector.inflect(@inflection_name, @word, '連用形').should == '編み'
1118
+ end
1119
+
1120
+ it 'inflects to 連用タ接続' do
1121
+ @inflector.inflect(@inflection_name, @word, '連用タ接続', :following => 'た').should == '編んだ'
1122
+ end
1123
+
1124
+ it 'inflects to 終止形' do
1125
+ @inflector.inflect(@inflection_name, @word, '終止形').should == '編む'
1126
+ end
1127
+
1128
+ it 'inflects to 仮定形' do
1129
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == '編め'
1130
+ end
1131
+
1132
+ it 'inflects to 仮定縮約' do
1133
+ @inflector.inflect(@inflection_name, @word, '仮定縮約').should == '編みゃ'
1134
+ end
1135
+
1136
+ it 'inflects to 命令形' do
1137
+ @inflector.inflect(@inflection_name, @word, '命令形').should == '編め'
1138
+ end
1139
+ end
1140
+
1141
+ context 'with 五段・ラ行' do
1142
+ before do
1143
+ @inflection_name = '五段・ラ行'
1144
+ @word = '走る'
1145
+ end
1146
+
1147
+ it 'inflects to 未然形' do
1148
+ @inflector.inflect(@inflection_name, @word, '未然形').should == '走ら'
1149
+ end
1150
+
1151
+ it 'inflects to 未然ウ接続' do
1152
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続').should == '走ろ'
1153
+ end
1154
+
1155
+ it 'inflects to 未然ヌ接続' do
1156
+ @inflector.inflect(@inflection_name, @word, '未然ヌ接続').should == '走ら'
1157
+ end
1158
+
1159
+ it 'inflects to 未然レル接続' do
1160
+ @inflector.inflect(@inflection_name, @word, '未然レル接続').should == '走ら'
1161
+ end
1162
+
1163
+ it 'inflects to 連用形' do
1164
+ @inflector.inflect(@inflection_name, @word, '連用形').should == '走り'
1165
+ end
1166
+
1167
+ it 'inflects to 連用タ接続' do
1168
+ @inflector.inflect(@inflection_name, @word, '連用タ接続', :following => 'た').should == '走った'
1169
+ end
1170
+
1171
+ it 'inflects to 終止形' do
1172
+ @inflector.inflect(@inflection_name, @word, '終止形').should == '走る'
1173
+ end
1174
+
1175
+ it 'inflects to 仮定形' do
1176
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == '走れ'
1177
+ end
1178
+
1179
+ it 'inflects to 仮定縮約' do
1180
+ @inflector.inflect(@inflection_name, @word, '仮定縮約').should == '走りゃ'
1181
+ end
1182
+
1183
+ it 'inflects to 命令形' do
1184
+ @inflector.inflect(@inflection_name, @word, '命令形').should == '走れ'
1185
+ end
1186
+ end
1187
+
1188
+ context 'with 五段・ラ行特殊' do
1189
+ before do
1190
+ @inflection_name = '五段・ラ行特殊'
1191
+ @word = 'なさる'
1192
+ end
1193
+
1194
+ it 'inflects to 未然形' do
1195
+ @inflector.inflect(@inflection_name, @word, '未然形').should == 'なさら'
1196
+ end
1197
+
1198
+ it 'inflects to 未然ウ接続' do
1199
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続').should == 'なさろ'
1200
+ end
1201
+
1202
+ it 'inflects to 未然ヌ接続' do
1203
+ @inflector.inflect(@inflection_name, @word, '未然ヌ接続').should == 'なさら'
1204
+ end
1205
+
1206
+ it 'inflects to 未然レル接続' do
1207
+ @inflector.inflect(@inflection_name, @word, '未然レル接続').should == 'なさら'
1208
+ end
1209
+
1210
+ it 'inflects to 連用形' do
1211
+ @inflector.inflect(@inflection_name, @word, '連用形').should == 'なさい'
1212
+ end
1213
+
1214
+ it 'inflects to 連用タ接続' do
1215
+ @inflector.inflect(@inflection_name, @word, '連用タ接続', :following => 'た').should == 'なさった'
1216
+ end
1217
+
1218
+ it 'inflects to 終止形' do
1219
+ @inflector.inflect(@inflection_name, @word, '終止形').should == 'なさる'
1220
+ end
1221
+
1222
+ it 'inflects to 仮定形' do
1223
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == 'なされ'
1224
+ end
1225
+
1226
+ it 'inflects to 仮定縮約' do
1227
+ @inflector.inflect(@inflection_name, @word, '仮定縮約').should == 'なさりゃ'
1228
+ end
1229
+
1230
+ it 'inflects to 命令形' do
1231
+ @inflector.inflect(@inflection_name, @word, '命令形').should == 'なさい'
1232
+ end
1233
+ end
1234
+
1235
+ context 'with 五段・ワ行ウ音便' do
1236
+ before do
1237
+ @inflection_name = '五段・ワ行ウ音便'
1238
+ @word = '乞う'
1239
+ end
1240
+
1241
+ it 'inflects to 未然形' do
1242
+ @inflector.inflect(@inflection_name, @word, '未然形').should == '乞わ'
1243
+ end
1244
+
1245
+ it 'inflects to 未然ウ接続' do
1246
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続').should == '乞お'
1247
+ end
1248
+
1249
+ it 'inflects to 未然ヌ接続' do
1250
+ @inflector.inflect(@inflection_name, @word, '未然ヌ接続').should == '乞わ'
1251
+ end
1252
+
1253
+ it 'inflects to 未然レル接続' do
1254
+ @inflector.inflect(@inflection_name, @word, '未然レル接続').should == '乞わ'
1255
+ end
1256
+
1257
+ it 'inflects to 連用形' do
1258
+ @inflector.inflect(@inflection_name, @word, '連用形').should == '乞い'
1259
+ end
1260
+
1261
+ it 'inflects to 連用タ接続' do
1262
+ @inflector.inflect(@inflection_name, @word, '連用タ接続', :following => 'た').should == '乞うた'
1263
+ end
1264
+
1265
+ it 'inflects to 終止形' do
1266
+ @inflector.inflect(@inflection_name, @word, '終止形').should == '乞う'
1267
+ end
1268
+
1269
+ it 'inflects to 仮定形' do
1270
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == '乞え'
1271
+ end
1272
+
1273
+ it 'inflects to 仮定縮約' do
1274
+ @inflector.inflect(@inflection_name, @word, '仮定縮約').should == '乞や'
1275
+ end
1276
+
1277
+ it 'inflects to 命令形' do
1278
+ @inflector.inflect(@inflection_name, @word, '命令形').should == '乞え'
1279
+ end
1280
+ end
1281
+
1282
+ context 'with 五段・ワ行促音便' do
1283
+ before do
1284
+ @inflection_name = '五段・ワ行促音便'
1285
+ @word = '誘う'
1286
+ end
1287
+
1288
+ it 'inflects to 未然形' do
1289
+ @inflector.inflect(@inflection_name, @word, '未然形').should == '誘わ'
1290
+ end
1291
+
1292
+ it 'inflects to 未然ウ接続' do
1293
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続').should == '誘お'
1294
+ end
1295
+
1296
+ it 'inflects to 未然ヌ接続' do
1297
+ @inflector.inflect(@inflection_name, @word, '未然ヌ接続').should == '誘わ'
1298
+ end
1299
+
1300
+ it 'inflects to 未然レル接続' do
1301
+ @inflector.inflect(@inflection_name, @word, '未然レル接続').should == '誘わ'
1302
+ end
1303
+
1304
+ it 'inflects to 連用形' do
1305
+ @inflector.inflect(@inflection_name, @word, '連用形').should == '誘い'
1306
+ end
1307
+
1308
+ it 'inflects to 連用タ接続' do
1309
+ @inflector.inflect(@inflection_name, @word, '連用タ接続', :following => 'た').should == '誘った'
1310
+ end
1311
+
1312
+ it 'inflects to 終止形' do
1313
+ @inflector.inflect(@inflection_name, @word, '終止形').should == '誘う'
1314
+ end
1315
+
1316
+ it 'inflects to 仮定形' do
1317
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == '誘え'
1318
+ end
1319
+
1320
+ it 'inflects to 仮定縮約' do
1321
+ @inflector.inflect(@inflection_name, @word, '仮定縮約').should == '誘や'
1322
+ end
1323
+
1324
+ it 'inflects to 命令形' do
1325
+ @inflector.inflect(@inflection_name, @word, '命令形').should == '誘え'
1326
+ end
1327
+ end
1328
+ end
1329
+
1330
+ context 'with 特殊・ナイ' do
1331
+ before do
1332
+ @inflection_name = '特殊・ナイ'
1333
+ @word = 'ない'
1334
+ end
1335
+
1336
+ it 'inflects to 未然ウ接続' do
1337
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続').should == 'なかろ'
1338
+ end
1339
+
1340
+ it 'inflects to 未然ヌ接続' do
1341
+ @inflector.inflect(@inflection_name, @word, '未然ヌ接続').should == 'なから'
1342
+ end
1343
+
1344
+ it 'inflects to 連用タ接続' do
1345
+ @inflector.inflect(@inflection_name, @word, '連用タ接続').should == 'なかっ'
1346
+ end
1347
+
1348
+ it 'inflects to 連用テ接続' do
1349
+ @inflector.inflect(@inflection_name, @word, '連用テ接続').should == 'なく'
1350
+ end
1351
+
1352
+ it 'inflects to 連用デ接続' do
1353
+ @inflector.inflect(@inflection_name, @word, '連用デ接続').should == 'ない'
1354
+ end
1355
+
1356
+ it 'inflects to 連用ゴザイ接続' do
1357
+ @inflector.inflect(@inflection_name, @word, '連用ゴザイ接続').should == 'のう'
1358
+ end
1359
+
1360
+ it 'inflects to 終止形' do
1361
+ @inflector.inflect(@inflection_name, @word, '終止形').should == 'ない'
1362
+ end
1363
+
1364
+ it 'inflects to 音便終止形' do
1365
+ @inflector.inflect(@inflection_name, @word, '音便終止形').should == 'ねえ'
1366
+ end
1367
+
1368
+ it 'inflects to 体言接続' do
1369
+ @inflector.inflect(@inflection_name, @word, '体言接続').should == 'なき'
1370
+ end
1371
+
1372
+ it 'inflects to 仮定形' do
1373
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == 'なけれ'
1374
+ end
1375
+
1376
+ it 'inflects to 仮定縮約1' do
1377
+ @inflector.inflect(@inflection_name, @word, '仮定縮約1').should == 'なけりゃ'
1378
+ end
1379
+
1380
+ it 'inflects to 仮定縮約2' do
1381
+ @inflector.inflect(@inflection_name, @word, '仮定縮約2').should == 'なきゃ'
1382
+ end
1383
+
1384
+ it 'inflects to ガル接続' do
1385
+ @inflector.inflect(@inflection_name, @word, 'ガル接続').should == 'な'
1386
+ end
1387
+
1388
+ it 'inflects to 命令形' do
1389
+ @inflector.inflect(@inflection_name, @word, '命令形').should == 'なかれ'
1390
+ end
1391
+ end
1392
+
1393
+ context 'with 特殊・タイ' do
1394
+ before do
1395
+ @inflection_name = '特殊・タイ'
1396
+ @word = 'たい'
1397
+ end
1398
+
1399
+ it 'inflects to 未然ウ接続' do
1400
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続').should == 'たかろ'
1401
+ end
1402
+
1403
+ it 'inflects to 未然ヌ接続' do
1404
+ @inflector.inflect(@inflection_name, @word, '未然ヌ接続').should == 'たから'
1405
+ end
1406
+
1407
+ it 'inflects to 連用タ接続' do
1408
+ @inflector.inflect(@inflection_name, @word, '連用タ接続').should == 'たかっ'
1409
+ end
1410
+
1411
+ it 'inflects to 連用テ接続' do
1412
+ @inflector.inflect(@inflection_name, @word, '連用テ接続').should == 'たく'
1413
+ end
1414
+
1415
+ it 'inflects to 連用ゴザイ接続' do
1416
+ @inflector.inflect(@inflection_name, @word, '連用ゴザイ接続').should == 'とう'
1417
+ end
1418
+
1419
+ it 'inflects to 終止形' do
1420
+ @inflector.inflect(@inflection_name, @word, '終止形').should == 'たい'
1421
+ end
1422
+
1423
+ it 'inflects to 音便終止形' do
1424
+ @inflector.inflect(@inflection_name, @word, '音便終止形').should == 'てえ'
1425
+ end
1426
+
1427
+ it 'inflects to 体言接続' do
1428
+ @inflector.inflect(@inflection_name, @word, '体言接続').should == 'たき'
1429
+ end
1430
+
1431
+ it 'inflects to 仮定形' do
1432
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == 'たけれ'
1433
+ end
1434
+
1435
+ it 'inflects to 仮定縮約1' do
1436
+ @inflector.inflect(@inflection_name, @word, '仮定縮約1').should == 'たけりゃ'
1437
+ end
1438
+
1439
+ it 'inflects to 仮定縮約2' do
1440
+ @inflector.inflect(@inflection_name, @word, '仮定縮約2').should == 'たきゃ'
1441
+ end
1442
+
1443
+ it 'inflects to ガル接続' do
1444
+ @inflector.inflect(@inflection_name, @word, 'ガル接続').should == 'た'
1445
+ end
1446
+ end
1447
+
1448
+ context 'with 特殊・デス' do
1449
+ before do
1450
+ @inflection_name = '特殊・デス'
1451
+ @word = 'です'
1452
+ end
1453
+
1454
+ it 'inflects to 未然形' do
1455
+ @inflector.inflect(@inflection_name, @word, '未然形').should == 'でしょ'
1456
+ end
1457
+
1458
+ it 'inflects to 連用形' do
1459
+ @inflector.inflect(@inflection_name, @word, '連用形').should == 'でし'
1460
+ end
1461
+
1462
+ it 'inflects to 終止形' do
1463
+ @inflector.inflect(@inflection_name, @word, '終止形').should == 'です'
1464
+ end
1465
+ end
1466
+
1467
+ context 'with 特殊・マス' do
1468
+ before do
1469
+ @inflection_name = '特殊・マス'
1470
+ @word = 'ます'
1471
+ end
1472
+
1473
+ it 'inflects to 未然形' do
1474
+ @inflector.inflect(@inflection_name, @word, '未然形').should == 'ませ'
1475
+ end
1476
+
1477
+ it 'inflects to 未然ウ接続' do
1478
+ @inflector.inflect(@inflection_name, @word, '未然ウ接続').should == 'ましょ'
1479
+ end
1480
+
1481
+ it 'inflects to 連用形' do
1482
+ @inflector.inflect(@inflection_name, @word, '連用形').should == 'まし'
1483
+ end
1484
+
1485
+ it 'inflects to 終止形' do
1486
+ @inflector.inflect(@inflection_name, @word, '終止形').should == 'ます'
1487
+ end
1488
+
1489
+ it 'inflects to 仮定形' do
1490
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == 'ますれ'
1491
+ end
1492
+
1493
+ it 'inflects to 命令形' do
1494
+ @inflector.inflect(@inflection_name, @word, '命令形').should == 'ませ'
1495
+ end
1496
+ end
1497
+
1498
+ context 'with 特殊・タ' do
1499
+ before do
1500
+ @inflection_name = '特殊・タ'
1501
+ @word = 'た'
1502
+ end
1503
+
1504
+ it 'inflects to 未然形' do
1505
+ @inflector.inflect(@inflection_name, @word, '未然形').should == 'たろ'
1506
+ end
1507
+
1508
+ it 'inflects to 終止形' do
1509
+ @inflector.inflect(@inflection_name, @word, '終止形').should == 'た'
1510
+ end
1511
+
1512
+ it 'inflects to 仮定形' do
1513
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == 'たら'
1514
+ end
1515
+ end
1516
+
1517
+ context 'with 特殊・ダ' do
1518
+ before do
1519
+ @inflection_name = '特殊・ダ'
1520
+ @word = 'だ'
1521
+ end
1522
+
1523
+ it 'inflects to 未然形' do
1524
+ @inflector.inflect(@inflection_name, @word, '未然形').should == 'だろ'
1525
+ end
1526
+
1527
+ it 'inflects to 連用形' do
1528
+ @inflector.inflect(@inflection_name, @word, '連用形').should == 'で'
1529
+ end
1530
+
1531
+ it 'inflects to 連用タ接続' do
1532
+ @inflector.inflect(@inflection_name, @word, '連用タ接続', :following => 'た').should == 'だった'
1533
+ end
1534
+
1535
+ it 'inflects to 終止形' do
1536
+ @inflector.inflect(@inflection_name, @word, '終止形').should == 'だ'
1537
+ end
1538
+
1539
+ it 'inflects to 体言接続' do
1540
+ @inflector.inflect(@inflection_name, @word, '体言接続').should == 'な'
1541
+ end
1542
+
1543
+ it 'inflects to 仮定形' do
1544
+ @inflector.inflect(@inflection_name, @word, '仮定形').should == 'なら'
1545
+ end
1546
+
1547
+ it 'inflects to 命令形' do
1548
+ @inflector.inflect(@inflection_name, @word, '命令形').should == 'なれ'
1549
+ end
1550
+ end
1551
+ end