File: singular_spec.rb

package info (click to toggle)
ruby-extlib 0.9.16-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 576 kB
  • sloc: ruby: 7,014; makefile: 5
file content (502 lines) | stat: -rw-r--r-- 11,012 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
require 'spec_helper'
require 'extlib/inflection'

describe Extlib::Inflection, "#singular" do
  # ==== exceptional cases

  it "singularizes equipment => equipment" do
    "equipment".singular.should == "equipment"
  end

  it "singularizes postgres => postgres" do
    "postgres".singular.should == "postgres"
  end

  it "singularizes mysql => mysql" do
    "mysql".singular.should == "mysql"
  end

  it "singularizes information => information" do
    "information".singular.should == "information"
  end

  it "singularizes money => money" do
    "money".singular.should == "money"
  end

  it "singularizes species => species" do
    "species".singular.should == "species"
  end

  it "singularizes series => series" do
    "series".singular.should == "series"
  end

  it "singularizes fish => fish" do
    "fish".singular.should == "fish"
  end

  it "singularizes sheep => sheep" do
    "sheep".singular.should == "sheep"
  end

  it "singularizes news => news" do
    "news".singular.should == "news"
  end

  it "singularizes rain => rain" do
    "rain".singular.should == "rain"
  end

  it "singularizes milk => milk" do
    "milk".singular.should == "milk"
  end

  it "singularizes moose => moose" do
    "moose".singular.should == "moose"
  end

  it "singularizes hovercraft => hovercraft" do
    "hovercraft".singular.should == "hovercraft"
  end

  it "singularizes cacti => cactus" do
    "cacti".singular.should == "cactus"
  end

  it "singularizes cactuses => cactus" do
    "cactuses".singular.should == "cactus"
  end

  it "singularizes thesauri => thesaurus" do
    "thesauri".singular.should == "thesaurus"
  end

  it "singularizes matrices => matrix" do
    "matrices".singular.should == "matrix"
  end

  it "singularizes Swiss => Swiss" do
    "Swiss".singular.should == "Swiss"
  end

  it "singularizes lives => life" do
    "lives".singular.should == "life"
  end

  it "singularizes wives => wife" do
    "wives".singular.should == "wife"
  end

  it "singularizes geese => goose" do
    "geese".singular.should == "goose"
  end

  it "singularizes criteria => criterion" do
    "criteria".singular.should == "criterion"
  end

  it "singularizes aliases => alias" do
    "aliases".singular.should == "alias"
  end

  it "singularizes statuses => status" do
    "statuses".singular.should == "status"
  end

  it "singularizes axes => axis" do
    "axes".singular.should == "axis"
  end

  it "singularizes crises => crisis" do
    "crises".singular.should == "crisis"
  end

  it "singularizes testes => testis" do
    "testes".singular.should == "testis"
  end

  it "singularizes children => child" do
    "children".singular.should == "child"
  end

  it "singularizes people => person" do
    "people".singular.should == "person"
  end

  it "singularizes potatoes => potato" do
    "potatoes".singular.should == "potato"
  end

  it "singularizes tomatoes => tomato" do
    "tomatoes".singular.should == "tomato"
  end

  it "singularizes buffaloes => buffalo" do
    "buffaloes".singular.should == "buffalo"
  end

  it "singularizes torpedoes => torpedo" do
    "torpedoes".singular.should == "torpedo"
  end

  it "singularizes quizzes => quiz" do
    "quizzes".singular.should == "quiz"
  end

  # used to be a bug exposed by this specs suite,
  # this MUST pass or we've got regression
  it "singularizes vertices => vertex" do
    "vertices".singular.should == "vertex"
  end

  it "singularizes indices => index" do
    "indices".singular.should == "index"
  end

  it "singularizes indexes => index" do
    "indexes".singular.should == "index"
  end

  it "singularizes oxen => ox" do
    "oxen".singular.should == "ox"
  end

  it "singularizes mice => mouse" do
    "mice".singular.should == "mouse"
  end

  it "singularizes lice => louse" do
    "lice".singular.should == "louse"
  end

  it "singularizes theses => thesis" do
    "theses".singular.should == "thesis"
  end

  it "singularizes thieves => thief" do
    "thieves".singular.should == "thief"
  end

  it "singularizes analyses => analysis" do
    "analyses".singular.should == "analysis"
  end

  it "singularizes octopi => octopus" do
    "octopi".singular.should == "octopus"
  end

  it "singularizes grass => grass" do
    "grass".singular.should == "grass"
  end

  it "singularizes phenomena => phenomenon" do
    "phenomena".singular.should == "phenomenon"
  end

  it "singularizes drives => drive" do
    "drives".singular.should == "drive"
  end

  # ==== bugs, typos and reported issues

  # ==== rules

  it "singularizes forums => forum" do
    "forums".singular.should == "forum"
  end

  it "singularizes hives => hive" do
    "hives".singular.should == "hive"
  end

  it "singularizes athletes => athlete" do
    "athletes".singular.should == "athlete"
  end

  it "singularizes dwarves => dwarf" do
    "dwarves".singular.should == "dwarf"
  end

  it "singularizes heroes => hero" do
    "heroes".singular.should == "hero"
  end

  it "singularizes zeroes => zero" do
    "zeroes".singular.should == "zero"
  end

  it "singularizes men => man" do
    "men".singular.should == "man"
  end

  it "singularizes women => woman" do
    "women".singular.should == "woman"
  end

  it "singularizes sportsmen => sportsman" do
    "sportsmen".singular.should == "sportsman"
  end

  it "singularizes branches => branch" do
    "branches".singular.should == "branch"
  end

  it "singularizes crunches => crunch" do
    "crunches".singular.should == "crunch"
  end

  it "singularizes trashes => trash" do
    "trashes".singular.should == "trash"
  end

  it "singularizes mashes => mash" do
    "mashes".singular.should == "mash"
  end

  it "singularizes crosses => cross" do
    "crosses".singular.should == "cross"
  end

  it "singularizes errata => erratum" do
    "errata".singular.should == "erratum"
  end

  # FIXME: add -ia => -ium cases

  # FIXME: add -ra => -rum cases

  it "singularizes rays => ray" do
    "rays".singular.should == "ray"
  end

  it "singularizes sprays => spray" do
    "sprays".singular.should == "spray"
  end

  # Merriam-Webster dictionary says
  # preys is correct, too.
  it "singularizes preys => prey" do
    "preys".singular.should == "prey"
  end

  it "singularizes toys => toy" do
    "toys".singular.should == "toy"
  end

  it "singularizes joys => joy" do
    "joys".singular.should == "joy"
  end

  it "singularizes buys => buy" do
    "buys".singular.should == "buy"
  end

  it "singularizes guys => guy" do
    "guys".singular.should == "guy"
  end

  it "singularizes cries => cry" do
    "cries".singular.should == "cry"
  end

  it "singularizes flies => fly" do
    "flies".singular.should == "fly"
  end

  it "singularizes foxes => fox" do
    "foxes".singular.should == "fox"
  end

  it "singularizes elves => elf" do
    "elves".singular.should == "elf"
  end

  it "singularizes shelves => shelf" do
    "shelves".singular.should == "shelf"
  end

  it "singularizes pluses => plus" do
    "pluses".singular.should == "plus"
  end

  it "singularizes cats => cat" do
    "cats".singular.should == "cat"
  end

  it "singularizes rats => rat" do
    "rats".singular.should == "rat"
  end

  it "singularizes roses => rose" do
    "roses".singular.should == "rose"
  end

  it "singularizes projects => project" do
    "projects".singular.should == "project"
  end

  it "singularizes posts => post" do
    "posts".singular.should == "post"
  end

  it "singularizes articles => article" do
    "articles".singular.should == "article"
  end

  it "singularizes locations => location" do
    "locations".singular.should == "location"
  end

  it "singularizes friends => friend" do
    "friends".singular.should == "friend"
  end

  it "singularizes links => link" do
    "links".singular.should == "link"
  end

  it "singularizes urls => url" do
    "urls".singular.should == "url"
  end

  it "singularizes accounts => account" do
    "accounts".singular.should == "account"
  end

  it "singularizes servers => server" do
    "servers".singular.should == "server"
  end

  it "singularizes fruits => fruit" do
    "fruits".singular.should == "fruit"
  end

  it "singularizes maps => map" do
    "maps".singular.should == "map"
  end

  it "singularizes incomes => income" do
    "incomes".singular.should == "income"
  end

  it "singularizes pings => ping" do
    "pings".singular.should == "ping"
  end

  it "singularizes events => event" do
    "events".singular.should == "event"
  end

  it "singularizes proofs => proof" do
    "proofs".singular.should == "proof"
  end

  it "singularizes typos => typo" do
    "typos".singular.should == "typo"
  end

  it "singularizes attachments => attachment" do
    "attachments".singular.should == "attachment"
  end

  it "singularizes downloads => download" do
    "downloads".singular.should == "download"
  end

  it "singularizes assets => asset" do
    "assets".singular.should == "asset"
  end

  it "singularizes jobs => job" do
    "jobs".singular.should == "job"
  end

  it "singularizes cities => city" do
    "cities".singular.should == "city"
  end

  it "singularizes packages => package" do
    "packages".singular.should == "package"
  end

  it "singularizes commits => commit" do
    "commits".singular.should == "commit"
  end

  it "singularizes versions => version" do
    "versions".singular.should == "version"
  end

  it "singularizes documents => document" do
    "documents".singular.should == "document"
  end

  it "singularizes editions => edition" do
    "editions".singular.should == "edition"
  end

  it "singularizes movies => movie" do
    "movies".singular.should == "movie"
  end

  it "singularizes songs => song" do
    "songs".singular.should == "song"
  end

  it "singularizes invoices => invoice" do
    "invoices".singular.should == "invoice"
  end

  it "singularizes products => product" do
    "products".singular.should == "product"
  end

  it "singularizes books => book" do
    "books".singular.should == "book"
  end

  it "singularizes tickets => ticket" do
    "tickets".singular.should == "ticket"
  end

  it "singularizes games => game" do
    "games".singular.should == "game"
  end

  it "singularizes tournaments => tournament" do
    "tournaments".singular.should == "tournament"
  end

  it "singularizes prizes => prize" do
    "prizes".singular.should == "prize"
  end

  it "singularizes prices => price" do
    "prices".singular.should == "price"
  end

  it "singularizes installations => installation" do
    "installations".singular.should == "installation"
  end

  it "singularizes dates => date" do
    "dates".singular.should == "date"
  end

  it "singularizes schedules => schedule" do
    "schedules".singular.should == "schedule"
  end

  it "singularizes arenas => arena" do
    "arenas".singular.should == "arena"
  end

  it "singularizes spams => spam" do
    "spams".singular.should == "spam"
  end

  it "singularizes rice => rice" do
    "rice".singular.should == "rice"
  end
end