View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    *
9    *      http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  
18  package org.apache.commons.codec.language;
19  
20  import static org.junit.Assert.assertEquals;
21  
22  import org.apache.commons.codec.StringEncoderAbstractTest;
23  import org.junit.Test;
24  
25  /**
26   * Tests {@link DoubleMetaphone}.
27   * <p>
28   * The test data was extracted from Stephen Woodbridge's <a
29   * href="http://swoodbridge.com/DoubleMetaPhone/surnames.txt">PHP test program</a>.
30   *
31   * @see <a href="http://swoodbridge.com/DoubleMetaPhone/surnames.txt">PHP test program</a>
32   * @version $Id: DoubleMetaphone2Test.java 1429868 2013-01-07 16:08:05Z ggregory $
33   */
34  public class DoubleMetaphone2Test extends StringEncoderAbstractTest<DoubleMetaphone> {
35  
36      private static final int ALTERNATE_INDEX = 2;
37  
38      private static final int PRIMARY_INDEX = 1;
39  
40      /** Test values and their expected primary & alternate Double Metaphone encodings */
41      private static final String[][] TEST_DATA = new String[][]{
42          {"ALLERTON", "ALRT", "ALRT"},
43          {"Acton", "AKTN", "AKTN"},
44          {"Adams", "ATMS", "ATMS"},
45          {"Aggar", "AKR", "AKR"},
46          {"Ahl", "AL", "AL"},
47          {"Aiken", "AKN", "AKN"},
48          {"Alan", "ALN", "ALN"},
49          {"Alcock", "ALKK", "ALKK"},
50          {"Alden", "ALTN", "ALTN"},
51          {"Aldham", "ALTM", "ALTM"},
52          {"Allen", "ALN", "ALN"},
53          {"Allerton", "ALRT", "ALRT"},
54          {"Alsop", "ALSP", "ALSP"},
55          {"Alwein", "ALN", "ALN"},
56          {"Ambler", "AMPL", "AMPL"},
57          {"Andevill", "ANTF", "ANTF"},
58          {"Andrews", "ANTR", "ANTR"},
59          {"Andreyco", "ANTR", "ANTR"},
60          {"Andriesse", "ANTR", "ANTR"},
61          {"Angier", "ANJ", "ANJR"},
62          {"Annabel", "ANPL", "ANPL"},
63          {"Anne", "AN", "AN"},
64          {"Anstye", "ANST", "ANST"},
65          {"Appling", "APLN", "APLN"},
66          {"Apuke", "APK", "APK"},
67          {"Arnold", "ARNL", "ARNL"},
68          {"Ashby", "AXP", "AXP"},
69          {"Astwood", "ASTT", "ASTT"},
70          {"Atkinson", "ATKN", "ATKN"},
71          {"Audley", "ATL", "ATL"},
72          {"Austin", "ASTN", "ASTN"},
73          {"Avenal", "AFNL", "AFNL"},
74          {"Ayer", "AR", "AR"},
75          {"Ayot", "AT", "AT"},
76          {"Babbitt", "PPT", "PPT"},
77          {"Bachelor", "PXLR", "PKLR"},
78          {"Bachelour", "PXLR", "PKLR"},
79          {"Bailey", "PL", "PL"},
80          {"Baivel", "PFL", "PFL"},
81          {"Baker", "PKR", "PKR"},
82          {"Baldwin", "PLTN", "PLTN"},
83          {"Balsley", "PLSL", "PLSL"},
84          {"Barber", "PRPR", "PRPR"},
85          {"Barker", "PRKR", "PRKR"},
86          {"Barlow", "PRL", "PRLF"},
87          {"Barnard", "PRNR", "PRNR"},
88          {"Barnes", "PRNS", "PRNS"},
89          {"Barnsley", "PRNS", "PRNS"},
90          {"Barouxis", "PRKS", "PRKS"},
91          {"Bartlet", "PRTL", "PRTL"},
92          {"Basley", "PSL", "PSL"},
93          {"Basset", "PST", "PST"},
94          {"Bassett", "PST", "PST"},
95          {"Batchlor", "PXLR", "PXLR"},
96          {"Bates", "PTS", "PTS"},
97          {"Batson", "PTSN", "PTSN"},
98          {"Bayes", "PS", "PS"},
99          {"Bayley", "PL", "PL"},
100         {"Beale", "PL", "PL"},
101         {"Beauchamp", "PXMP", "PKMP"},
102         {"Beauclerc", "PKLR", "PKLR"},
103         {"Beech", "PK", "PK"},
104         {"Beers", "PRS", "PRS"},
105         {"Beke", "PK", "PK"},
106         {"Belcher", "PLXR", "PLKR"},
107         {"benign", "PNN", "PNKN"},
108         {"Benjamin", "PNJM", "PNJM"},
109         {"Benningham", "PNNK", "PNNK"},
110         {"Bereford", "PRFR", "PRFR"},
111         {"Bergen", "PRJN", "PRKN"},
112         {"Berkeley", "PRKL", "PRKL"},
113         {"Berry", "PR", "PR"},
114         {"Besse", "PS", "PS"},
115         {"Bessey", "PS", "PS"},
116         {"Bessiles", "PSLS", "PSLS"},
117         {"Bigelow", "PJL", "PKLF"},
118         {"Bigg", "PK", "PK"},
119         {"Bigod", "PKT", "PKT"},
120         {"Billings", "PLNK", "PLNK"},
121         {"Bimper", "PMPR", "PMPR"},
122         {"Binker", "PNKR", "PNKR"},
123         {"Birdsill", "PRTS", "PRTS"},
124         {"Bishop", "PXP", "PXP"},
125         {"Black", "PLK", "PLK"},
126         {"Blagge", "PLK", "PLK"},
127         {"Blake", "PLK", "PLK"},
128         {"Blanck", "PLNK", "PLNK"},
129         {"Bledsoe", "PLTS", "PLTS"},
130         {"Blennerhasset", "PLNR", "PLNR"},
131         {"Blessing", "PLSN", "PLSN"},
132         {"Blewett", "PLT", "PLT"},
133         {"Bloctgoed", "PLKT", "PLKT"},
134         {"Bloetgoet", "PLTK", "PLTK"},
135         {"Bloodgood", "PLTK", "PLTK"},
136         {"Blossom", "PLSM", "PLSM"},
137         {"Blount", "PLNT", "PLNT"},
138         {"Bodine", "PTN", "PTN"},
139         {"Bodman", "PTMN", "PTMN"},
140         {"BonCoeur", "PNKR", "PNKR"},
141         {"Bond", "PNT", "PNT"},
142         {"Boscawen", "PSKN", "PSKN"},
143         {"Bosworth", "PSR0", "PSRT"},
144         {"Bouchier", "PX", "PKR"},
145         {"Bowne", "PN", "PN"},
146         {"Bradbury", "PRTP", "PRTP"},
147         {"Bradder", "PRTR", "PRTR"},
148         {"Bradford", "PRTF", "PRTF"},
149         {"Bradstreet", "PRTS", "PRTS"},
150         {"Braham", "PRHM", "PRHM"},
151         {"Brailsford", "PRLS", "PRLS"},
152         {"Brainard", "PRNR", "PRNR"},
153         {"Brandish", "PRNT", "PRNT"},
154         {"Braun", "PRN", "PRN"},
155         {"Brecc", "PRK", "PRK"},
156         {"Brent", "PRNT", "PRNT"},
157         {"Brenton", "PRNT", "PRNT"},
158         {"Briggs", "PRKS", "PRKS"},
159         {"Brigham", "PRM", "PRM"},
160         {"Brobst", "PRPS", "PRPS"},
161         {"Brome", "PRM", "PRM"},
162         {"Bronson", "PRNS", "PRNS"},
163         {"Brooks", "PRKS", "PRKS"},
164         {"Brouillard", "PRLR", "PRLR"},
165         {"Brown", "PRN", "PRN"},
166         {"Browne", "PRN", "PRN"},
167         {"Brownell", "PRNL", "PRNL"},
168         {"Bruley", "PRL", "PRL"},
169         {"Bryant", "PRNT", "PRNT"},
170         {"Brzozowski", "PRSS", "PRTS"},
171         {"Buide", "PT", "PT"},
172         {"Bulmer", "PLMR", "PLMR"},
173         {"Bunker", "PNKR", "PNKR"},
174         {"Burden", "PRTN", "PRTN"},
175         {"Burge", "PRJ", "PRK"},
176         {"Burgoyne", "PRKN", "PRKN"},
177         {"Burke", "PRK", "PRK"},
178         {"Burnett", "PRNT", "PRNT"},
179         {"Burpee", "PRP", "PRP"},
180         {"Bursley", "PRSL", "PRSL"},
181         {"Burton", "PRTN", "PRTN"},
182         {"Bushnell", "PXNL", "PXNL"},
183         {"Buss", "PS", "PS"},
184         {"Buswell", "PSL", "PSL"},
185         {"Butler", "PTLR", "PTLR"},
186         {"Calkin", "KLKN", "KLKN"},
187         {"Canada", "KNT", "KNT"},
188         {"Canmore", "KNMR", "KNMR"},
189         {"Canney", "KN", "KN"},
190         {"Capet", "KPT", "KPT"},
191         {"Card", "KRT", "KRT"},
192         {"Carman", "KRMN", "KRMN"},
193         {"Carpenter", "KRPN", "KRPN"},
194         {"Cartwright", "KRTR", "KRTR"},
195         {"Casey", "KS", "KS"},
196         {"Catterfield", "KTRF", "KTRF"},
197         {"Ceeley", "SL", "SL"},
198         {"Chambers", "XMPR", "XMPR"},
199         {"Champion", "XMPN", "XMPN"},
200         {"Chapman", "XPMN", "XPMN"},
201         {"Chase", "XS", "XS"},
202         {"Cheney", "XN", "XN"},
203         {"Chetwynd", "XTNT", "XTNT"},
204         {"Chevalier", "XFL", "XFLR"},
205         {"Chillingsworth", "XLNK", "XLNK"},
206         {"Christie", "KRST", "KRST"},
207         {"Chubbuck", "XPK", "XPK"},
208         {"Church", "XRX", "XRK"},
209         {"Clark", "KLRK", "KLRK"},
210         {"Clarke", "KLRK", "KLRK"},
211         {"Cleare", "KLR", "KLR"},
212         {"Clement", "KLMN", "KLMN"},
213         {"Clerke", "KLRK", "KLRK"},
214         {"Clibben", "KLPN", "KLPN"},
215         {"Clifford", "KLFR", "KLFR"},
216         {"Clivedon", "KLFT", "KLFT"},
217         {"Close", "KLS", "KLS"},
218         {"Clothilde", "KL0L", "KLTL"},
219         {"Cobb", "KP", "KP"},
220         {"Coburn", "KPRN", "KPRN"},
221         {"Coburne", "KPRN", "KPRN"},
222         {"Cocke", "KK", "KK"},
223         {"Coffin", "KFN", "KFN"},
224         {"Coffyn", "KFN", "KFN"},
225         {"Colborne", "KLPR", "KLPR"},
226         {"Colby", "KLP", "KLP"},
227         {"Cole", "KL", "KL"},
228         {"Coleman", "KLMN", "KLMN"},
229         {"Collier", "KL", "KLR"},
230         {"Compton", "KMPT", "KMPT"},
231         {"Cone", "KN", "KN"},
232         {"Cook", "KK", "KK"},
233         {"Cooke", "KK", "KK"},
234         {"Cooper", "KPR", "KPR"},
235         {"Copperthwaite", "KPR0", "KPRT"},
236         {"Corbet", "KRPT", "KRPT"},
237         {"Corell", "KRL", "KRL"},
238         {"Corey", "KR", "KR"},
239         {"Corlies", "KRLS", "KRLS"},
240         {"Corneliszen", "KRNL", "KRNL"},
241         {"Cornelius", "KRNL", "KRNL"},
242         {"Cornwallis", "KRNL", "KRNL"},
243         {"Cosgrove", "KSKR", "KSKR"},
244         {"Count of Brionne", "KNTF", "KNTF"},
245         {"Covill", "KFL", "KFL"},
246         {"Cowperthwaite", "KPR0", "KPRT"},
247         {"Cowperwaite", "KPRT", "KPRT"},
248         {"Crane", "KRN", "KRN"},
249         {"Creagmile", "KRKM", "KRKM"},
250         {"Crew", "KR", "KRF"},
251         {"Crispin", "KRSP", "KRSP"},
252         {"Crocker", "KRKR", "KRKR"},
253         {"Crockett", "KRKT", "KRKT"},
254         {"Crosby", "KRSP", "KRSP"},
255         {"Crump", "KRMP", "KRMP"},
256         {"Cunningham", "KNNK", "KNNK"},
257         {"Curtis", "KRTS", "KRTS"},
258         {"Cutha", "K0", "KT"},
259         {"Cutter", "KTR", "KTR"},
260         {"D'Aubigny", "TPN", "TPKN"},
261         {"DAVIS", "TFS", "TFS"},
262         {"Dabinott", "TPNT", "TPNT"},
263         {"Dacre", "TKR", "TKR"},
264         {"Daggett", "TKT", "TKT"},
265         {"Danvers", "TNFR", "TNFR"},
266         {"Darcy", "TRS", "TRS"},
267         {"Davis", "TFS", "TFS"},
268         {"Dawn", "TN", "TN"},
269         {"Dawson", "TSN", "TSN"},
270         {"Day", "T", "T"},
271         {"Daye", "T", "T"},
272         {"DeGrenier", "TKRN", "TKRN"},
273         {"Dean", "TN", "TN"},
274         {"Deekindaugh", "TKNT", "TKNT"},
275         {"Dennis", "TNS", "TNS"},
276         {"Denny", "TN", "TN"},
277         {"Denton", "TNTN", "TNTN"},
278         {"Desborough", "TSPR", "TSPR"},
279         {"Despenser", "TSPN", "TSPN"},
280         {"Deverill", "TFRL", "TFRL"},
281         {"Devine", "TFN", "TFN"},
282         {"Dexter", "TKST", "TKST"},
283         {"Dillaway", "TL", "TL"},
284         {"Dimmick", "TMK", "TMK"},
285         {"Dinan", "TNN", "TNN"},
286         {"Dix", "TKS", "TKS"},
287         {"Doggett", "TKT", "TKT"},
288         {"Donahue", "TNH", "TNH"},
289         {"Dorfman", "TRFM", "TRFM"},
290         {"Dorris", "TRS", "TRS"},
291         {"Dow", "T", "TF"},
292         {"Downey", "TN", "TN"},
293         {"Downing", "TNNK", "TNNK"},
294         {"Dowsett", "TST", "TST"},
295         {"Duck?", "TK", "TK"},
296         {"Dudley", "TTL", "TTL"},
297         {"Duffy", "TF", "TF"},
298         {"Dunn", "TN", "TN"},
299         {"Dunsterville", "TNST", "TNST"},
300         {"Durrant", "TRNT", "TRNT"},
301         {"Durrin", "TRN", "TRN"},
302         {"Dustin", "TSTN", "TSTN"},
303         {"Duston", "TSTN", "TSTN"},
304         {"Eames", "AMS", "AMS"},
305         {"Early", "ARL", "ARL"},
306         {"Easty", "AST", "AST"},
307         {"Ebbett", "APT", "APT"},
308         {"Eberbach", "APRP", "APRP"},
309         {"Eberhard", "APRR", "APRR"},
310         {"Eddy", "AT", "AT"},
311         {"Edenden", "ATNT", "ATNT"},
312         {"Edwards", "ATRT", "ATRT"},
313         {"Eglinton", "AKLN", "ALNT"},
314         {"Eliot", "ALT", "ALT"},
315         {"Elizabeth", "ALSP", "ALSP"},
316         {"Ellis", "ALS", "ALS"},
317         {"Ellison", "ALSN", "ALSN"},
318         {"Ellot", "ALT", "ALT"},
319         {"Elny", "ALN", "ALN"},
320         {"Elsner", "ALSN", "ALSN"},
321         {"Emerson", "AMRS", "AMRS"},
322         {"Empson", "AMPS", "AMPS"},
323         {"Est", "AST", "AST"},
324         {"Estabrook", "ASTP", "ASTP"},
325         {"Estes", "ASTS", "ASTS"},
326         {"Estey", "AST", "AST"},
327         {"Evans", "AFNS", "AFNS"},
328         {"Fallowell", "FLL", "FLL"},
329         {"Farnsworth", "FRNS", "FRNS"},
330         {"Feake", "FK", "FK"},
331         {"Feke", "FK", "FK"},
332         {"Fellows", "FLS", "FLS"},
333         {"Fettiplace", "FTPL", "FTPL"},
334         {"Finney", "FN", "FN"},
335         {"Fischer", "FXR", "FSKR"},
336         {"Fisher", "FXR", "FXR"},
337         {"Fisk", "FSK", "FSK"},
338         {"Fiske", "FSK", "FSK"},
339         {"Fletcher", "FLXR", "FLXR"},
340         {"Folger", "FLKR", "FLJR"},
341         {"Foliot", "FLT", "FLT"},
342         {"Folyot", "FLT", "FLT"},
343         {"Fones", "FNS", "FNS"},
344         {"Fordham", "FRTM", "FRTM"},
345         {"Forstner", "FRST", "FRST"},
346         {"Fosten", "FSTN", "FSTN"},
347         {"Foster", "FSTR", "FSTR"},
348         {"Foulke", "FLK", "FLK"},
349         {"Fowler", "FLR", "FLR"},
350         {"Foxwell", "FKSL", "FKSL"},
351         {"Fraley", "FRL", "FRL"},
352         {"Franceys", "FRNS", "FRNS"},
353         {"Franke", "FRNK", "FRNK"},
354         {"Frascella", "FRSL", "FRSL"},
355         {"Frazer", "FRSR", "FRSR"},
356         {"Fredd", "FRT", "FRT"},
357         {"Freeman", "FRMN", "FRMN"},
358         {"French", "FRNX", "FRNK"},
359         {"Freville", "FRFL", "FRFL"},
360         {"Frey", "FR", "FR"},
361         {"Frick", "FRK", "FRK"},
362         {"Frier", "FR", "FRR"},
363         {"Froe", "FR", "FR"},
364         {"Frorer", "FRRR", "FRRR"},
365         {"Frost", "FRST", "FRST"},
366         {"Frothingham", "FR0N", "FRTN"},
367         {"Fry", "FR", "FR"},
368         {"Gaffney", "KFN", "KFN"},
369         {"Gage", "KJ", "KK"},
370         {"Gallion", "KLN", "KLN"},
371         {"Gallishan", "KLXN", "KLXN"},
372         {"Gamble", "KMPL", "KMPL"},
373         {"garage", "KRJ", "KRK"},
374         {"Garbrand", "KRPR", "KRPR"},
375         {"Gardner", "KRTN", "KRTN"},
376         {"Garrett", "KRT", "KRT"},
377         {"Gassner", "KSNR", "KSNR"},
378         {"Gater", "KTR", "KTR"},
379         {"Gaunt", "KNT", "KNT"},
380         {"Gayer", "KR", "KR"},
381         {"George", "JRJ", "KRK"},
382         {"Gerken", "KRKN", "JRKN"},
383         {"Gerritsen", "KRTS", "JRTS"},
384         {"Gibbs", "KPS", "JPS"},
385         {"Giffard", "JFRT", "KFRT"},
386         {"Gilbert", "KLPR", "JLPR"},
387         {"Gill", "KL", "JL"},
388         {"Gilman", "KLMN", "JLMN"},
389         {"Glass", "KLS", "KLS"},
390         {"Goddard\\Gifford", "KTRT", "KTRT"},
391         {"Godfrey", "KTFR", "KTFR"},
392         {"Godwin", "KTN", "KTN"},
393         {"Goodale", "KTL", "KTL"},
394         {"Goodnow", "KTN", "KTNF"},
395         {"Gorham", "KRM", "KRM"},
396         {"Goseline", "KSLN", "KSLN"},
397         {"Gott", "KT", "KT"},
398         {"Gould", "KLT", "KLT"},
399         {"Grafton", "KRFT", "KRFT"},
400         {"Grant", "KRNT", "KRNT"},
401         {"Gray", "KR", "KR"},
402         {"Green", "KRN", "KRN"},
403         {"Griffin", "KRFN", "KRFN"},
404         {"Grill", "KRL", "KRL"},
405         {"Grim", "KRM", "KRM"},
406         {"Grisgonelle", "KRSK", "KRSK"},
407         {"Gross", "KRS", "KRS"},
408         {"Guba", "KP", "KP"},
409         {"Gybbes", "KPS", "JPS"},
410         {"Haburne", "HPRN", "HPRN"},
411         {"Hackburne", "HKPR", "HKPR"},
412         {"Haddon?", "HTN", "HTN"},
413         {"Haines", "HNS", "HNS"},
414         {"Hale", "HL", "HL"},
415         {"Hall", "HL", "HL"},
416         {"Hallet", "HLT", "HLT"},
417         {"Hallock", "HLK", "HLK"},
418         {"Halstead", "HLST", "HLST"},
419         {"Hammond", "HMNT", "HMNT"},
420         {"Hance", "HNS", "HNS"},
421         {"Handy", "HNT", "HNT"},
422         {"Hanson", "HNSN", "HNSN"},
423         {"Harasek", "HRSK", "HRSK"},
424         {"Harcourt", "HRKR", "HRKR"},
425         {"Hardy", "HRT", "HRT"},
426         {"Harlock", "HRLK", "HRLK"},
427         {"Harris", "HRS", "HRS"},
428         {"Hartley", "HRTL", "HRTL"},
429         {"Harvey", "HRF", "HRF"},
430         {"Harvie", "HRF", "HRF"},
431         {"Harwood", "HRT", "HRT"},
432         {"Hathaway", "H0", "HT"},
433         {"Haukeness", "HKNS", "HKNS"},
434         {"Hawkes", "HKS", "HKS"},
435         {"Hawkhurst", "HKRS", "HKRS"},
436         {"Hawkins", "HKNS", "HKNS"},
437         {"Hawley", "HL", "HL"},
438         {"Heald", "HLT", "HLT"},
439         {"Helsdon", "HLST", "HLST"},
440         {"Hemenway", "HMN", "HMN"},
441         {"Hemmenway", "HMN", "HMN"},
442         {"Henck", "HNK", "HNK"},
443         {"Henderson", "HNTR", "HNTR"},
444         {"Hendricks", "HNTR", "HNTR"},
445         {"Hersey", "HRS", "HRS"},
446         {"Hewes", "HS", "HS"},
447         {"Heyman", "HMN", "HMN"},
448         {"Hicks", "HKS", "HKS"},
449         {"Hidden", "HTN", "HTN"},
450         {"Higgs", "HKS", "HKS"},
451         {"Hill", "HL", "HL"},
452         {"Hills", "HLS", "HLS"},
453         {"Hinckley", "HNKL", "HNKL"},
454         {"Hipwell", "HPL", "HPL"},
455         {"Hobart", "HPRT", "HPRT"},
456         {"Hoben", "HPN", "HPN"},
457         {"Hoffmann", "HFMN", "HFMN"},
458         {"Hogan", "HKN", "HKN"},
459         {"Holmes", "HLMS", "HLMS"},
460         {"Hoo", "H", "H"},
461         {"Hooker", "HKR", "HKR"},
462         {"Hopcott", "HPKT", "HPKT"},
463         {"Hopkins", "HPKN", "HPKN"},
464         {"Hopkinson", "HPKN", "HPKN"},
465         {"Hornsey", "HRNS", "HRNS"},
466         {"Houckgeest", "HKJS", "HKKS"},
467         {"Hough", "H", "H"},
468         {"Houstin", "HSTN", "HSTN"},
469         {"How", "H", "HF"},
470         {"Howe", "H", "H"},
471         {"Howland", "HLNT", "HLNT"},
472         {"Hubner", "HPNR", "HPNR"},
473         {"Hudnut", "HTNT", "HTNT"},
474         {"Hughes", "HS", "HS"},
475         {"Hull", "HL", "HL"},
476         {"Hulme", "HLM", "HLM"},
477         {"Hume", "HM", "HM"},
478         {"Hundertumark", "HNTR", "HNTR"},
479         {"Hundley", "HNTL", "HNTL"},
480         {"Hungerford", "HNKR", "HNJR"},
481         {"Hunt", "HNT", "HNT"},
482         {"Hurst", "HRST", "HRST"},
483         {"Husbands", "HSPN", "HSPN"},
484         {"Hussey", "HS", "HS"},
485         {"Husted", "HSTT", "HSTT"},
486         {"Hutchins", "HXNS", "HXNS"},
487         {"Hutchinson", "HXNS", "HXNS"},
488         {"Huttinger", "HTNK", "HTNJ"},
489         {"Huybertsen", "HPRT", "HPRT"},
490         {"Iddenden", "ATNT", "ATNT"},
491         {"Ingraham", "ANKR", "ANKR"},
492         {"Ives", "AFS", "AFS"},
493         {"Jackson", "JKSN", "AKSN"},
494         {"Jacob", "JKP", "AKP"},
495         {"Jans", "JNS", "ANS"},
496         {"Jenkins", "JNKN", "ANKN"},
497         {"Jewett", "JT", "AT"},
498         {"Jewitt", "JT", "AT"},
499         {"Johnson", "JNSN", "ANSN"},
500         {"Jones", "JNS", "ANS"},
501         {"Josephine", "JSFN", "HSFN"},
502         {"Judd", "JT", "AT"},
503         {"June", "JN", "AN"},
504         {"Kamarowska", "KMRS", "KMRS"},
505         {"Kay", "K", "K"},
506         {"Kelley", "KL", "KL"},
507         {"Kelly", "KL", "KL"},
508         {"Keymber", "KMPR", "KMPR"},
509         {"Keynes", "KNS", "KNS"},
510         {"Kilham", "KLM", "KLM"},
511         {"Kim", "KM", "KM"},
512         {"Kimball", "KMPL", "KMPL"},
513         {"King", "KNK", "KNK"},
514         {"Kinsey", "KNS", "KNS"},
515         {"Kirk", "KRK", "KRK"},
516         {"Kirton", "KRTN", "KRTN"},
517         {"Kistler", "KSTL", "KSTL"},
518         {"Kitchen", "KXN", "KXN"},
519         {"Kitson", "KTSN", "KTSN"},
520         {"Klett", "KLT", "KLT"},
521         {"Kline", "KLN", "KLN"},
522         {"Knapp", "NP", "NP"},
523         {"Knight", "NT", "NT"},
524         {"Knote", "NT", "NT"},
525         {"Knott", "NT", "NT"},
526         {"Knox", "NKS", "NKS"},
527         {"Koeller", "KLR", "KLR"},
528         {"La Pointe", "LPNT", "LPNT"},
529         {"LaPlante", "LPLN", "LPLN"},
530         {"Laimbeer", "LMPR", "LMPR"},
531         {"Lamb", "LMP", "LMP"},
532         {"Lambertson", "LMPR", "LMPR"},
533         {"Lancto", "LNKT", "LNKT"},
534         {"Landry", "LNTR", "LNTR"},
535         {"Lane", "LN", "LN"},
536         {"Langendyck", "LNJN", "LNKN"},
537         {"Langer", "LNKR", "LNJR"},
538         {"Langford", "LNKF", "LNKF"},
539         {"Lantersee", "LNTR", "LNTR"},
540         {"Laquer", "LKR", "LKR"},
541         {"Larkin", "LRKN", "LRKN"},
542         {"Latham", "LTM", "LTM"},
543         {"Lathrop", "L0RP", "LTRP"},
544         {"Lauter", "LTR", "LTR"},
545         {"Lawrence", "LRNS", "LRNS"},
546         {"Leach", "LK", "LK"},
547         {"Leager", "LKR", "LJR"},
548         {"Learned", "LRNT", "LRNT"},
549         {"Leavitt", "LFT", "LFT"},
550         {"Lee", "L", "L"},
551         {"Leete", "LT", "LT"},
552         {"Leggett", "LKT", "LKT"},
553         {"Leland", "LLNT", "LLNT"},
554         {"Leonard", "LNRT", "LNRT"},
555         {"Lester", "LSTR", "LSTR"},
556         {"Lestrange", "LSTR", "LSTR"},
557         {"Lethem", "L0M", "LTM"},
558         {"Levine", "LFN", "LFN"},
559         {"Lewes", "LS", "LS"},
560         {"Lewis", "LS", "LS"},
561         {"Lincoln", "LNKL", "LNKL"},
562         {"Lindsey", "LNTS", "LNTS"},
563         {"Linher", "LNR", "LNR"},
564         {"Lippet", "LPT", "LPT"},
565         {"Lippincott", "LPNK", "LPNK"},
566         {"Lockwood", "LKT", "LKT"},
567         {"Loines", "LNS", "LNS"},
568         {"Lombard", "LMPR", "LMPR"},
569         {"Long", "LNK", "LNK"},
570         {"Longespee", "LNJS", "LNKS"},
571         {"Look", "LK", "LK"},
572         {"Lounsberry", "LNSP", "LNSP"},
573         {"Lounsbury", "LNSP", "LNSP"},
574         {"Louthe", "L0", "LT"},
575         {"Loveyne", "LFN", "LFN"},
576         {"Lowe", "L", "L"},
577         {"Ludlam", "LTLM", "LTLM"},
578         {"Lumbard", "LMPR", "LMPR"},
579         {"Lund", "LNT", "LNT"},
580         {"Luno", "LN", "LN"},
581         {"Lutz", "LTS", "LTS"},
582         {"Lydia", "LT", "LT"},
583         {"Lynne", "LN", "LN"},
584         {"Lyon", "LN", "LN"},
585         {"MacAlpin", "MKLP", "MKLP"},
586         {"MacBricc", "MKPR", "MKPR"},
587         {"MacCrinan", "MKRN", "MKRN"},
588         {"MacKenneth", "MKN0", "MKNT"},
589         {"MacMael nam Bo", "MKML", "MKML"},
590         {"MacMurchada", "MKMR", "MKMR"},
591         {"Macomber", "MKMP", "MKMP"},
592         {"Macy", "MS", "MS"},
593         {"Magnus", "MNS", "MKNS"},
594         {"Mahien", "MHN", "MHN"},
595         {"Malmains", "MLMN", "MLMN"},
596         {"Malory", "MLR", "MLR"},
597         {"Mancinelli", "MNSN", "MNSN"},
598         {"Mancini", "MNSN", "MNSN"},
599         {"Mann", "MN", "MN"},
600         {"Manning", "MNNK", "MNNK"},
601         {"Manter", "MNTR", "MNTR"},
602         {"Marion", "MRN", "MRN"},
603         {"Marley", "MRL", "MRL"},
604         {"Marmion", "MRMN", "MRMN"},
605         {"Marquart", "MRKR", "MRKR"},
606         {"Marsh", "MRX", "MRX"},
607         {"Marshal", "MRXL", "MRXL"},
608         {"Marshall", "MRXL", "MRXL"},
609         {"Martel", "MRTL", "MRTL"},
610         {"Martha", "MR0", "MRT"},
611         {"Martin", "MRTN", "MRTN"},
612         {"Marturano", "MRTR", "MRTR"},
613         {"Marvin", "MRFN", "MRFN"},
614         {"Mary", "MR", "MR"},
615         {"Mason", "MSN", "MSN"},
616         {"Maxwell", "MKSL", "MKSL"},
617         {"Mayhew", "MH", "MHF"},
618         {"McAllaster", "MKLS", "MKLS"},
619         {"McAllister", "MKLS", "MKLS"},
620         {"McConnell", "MKNL", "MKNL"},
621         {"McFarland", "MKFR", "MKFR"},
622         {"McIlroy", "MSLR", "MSLR"},
623         {"McNair", "MKNR", "MKNR"},
624         {"McNair-Landry", "MKNR", "MKNR"},
625         {"McRaven", "MKRF", "MKRF"},
626         {"Mead", "MT", "MT"},
627         {"Meade", "MT", "MT"},
628         {"Meck", "MK", "MK"},
629         {"Melton", "MLTN", "MLTN"},
630         {"Mendenhall", "MNTN", "MNTN"},
631         {"Mering", "MRNK", "MRNK"},
632         {"Merrick", "MRK", "MRK"},
633         {"Merry", "MR", "MR"},
634         {"Mighill", "ML", "ML"},
635         {"Miller", "MLR", "MLR"},
636         {"Milton", "MLTN", "MLTN"},
637         {"Mohun", "MHN", "MHN"},
638         {"Montague", "MNTK", "MNTK"},
639         {"Montboucher", "MNTP", "MNTP"},
640         {"Moore", "MR", "MR"},
641         {"Morrel", "MRL", "MRL"},
642         {"Morrill", "MRL", "MRL"},
643         {"Morris", "MRS", "MRS"},
644         {"Morton", "MRTN", "MRTN"},
645         {"Moton", "MTN", "MTN"},
646         {"Muir", "MR", "MR"},
647         {"Mulferd", "MLFR", "MLFR"},
648         {"Mullins", "MLNS", "MLNS"},
649         {"Mulso", "MLS", "MLS"},
650         {"Munger", "MNKR", "MNJR"},
651         {"Munt", "MNT", "MNT"},
652         {"Murchad", "MRXT", "MRKT"},
653         {"Murdock", "MRTK", "MRTK"},
654         {"Murray", "MR", "MR"},
655         {"Muskett", "MSKT", "MSKT"},
656         {"Myers", "MRS", "MRS"},
657         {"Myrick", "MRK", "MRK"},
658         {"NORRIS", "NRS", "NRS"},
659         {"Nayle", "NL", "NL"},
660         {"Newcomb", "NKMP", "NKMP"},
661         {"Newcomb(e)", "NKMP", "NKMP"},
662         {"Newkirk", "NKRK", "NKRK"},
663         {"Newton", "NTN", "NTN"},
664         {"Niles", "NLS", "NLS"},
665         {"Noble", "NPL", "NPL"},
666         {"Noel", "NL", "NL"},
667         {"Northend", "NR0N", "NRTN"},
668         {"Norton", "NRTN", "NRTN"},
669         {"Nutter", "NTR", "NTR"},
670         {"Odding", "ATNK", "ATNK"},
671         {"Odenbaugh", "ATNP", "ATNP"},
672         {"Ogborn", "AKPR", "AKPR"},
673         {"Oppenheimer", "APNM", "APNM"},
674         {"Otis", "ATS", "ATS"},
675         {"Oviatt", "AFT", "AFT"},
676         {"PRUST?", "PRST", "PRST"},
677         {"Paddock", "PTK", "PTK"},
678         {"Page", "PJ", "PK"},
679         {"Paine", "PN", "PN"},
680         {"Paist", "PST", "PST"},
681         {"Palmer", "PLMR", "PLMR"},
682         {"Park", "PRK", "PRK"},
683         {"Parker", "PRKR", "PRKR"},
684         {"Parkhurst", "PRKR", "PRKR"},
685         {"Parrat", "PRT", "PRT"},
686         {"Parsons", "PRSN", "PRSN"},
687         {"Partridge", "PRTR", "PRTR"},
688         {"Pashley", "PXL", "PXL"},
689         {"Pasley", "PSL", "PSL"},
690         {"Patrick", "PTRK", "PTRK"},
691         {"Pattee", "PT", "PT"},
692         {"Patten", "PTN", "PTN"},
693         {"Pawley", "PL", "PL"},
694         {"Payne", "PN", "PN"},
695         {"Peabody", "PPT", "PPT"},
696         {"Peake", "PK", "PK"},
697         {"Pearson", "PRSN", "PRSN"},
698         {"Peat", "PT", "PT"},
699         {"Pedersen", "PTRS", "PTRS"},
700         {"Percy", "PRS", "PRS"},
701         {"Perkins", "PRKN", "PRKN"},
702         {"Perrine", "PRN", "PRN"},
703         {"Perry", "PR", "PR"},
704         {"Peson", "PSN", "PSN"},
705         {"Peterson", "PTRS", "PTRS"},
706         {"Peyton", "PTN", "PTN"},
707         {"Phinney", "FN", "FN"},
708         {"Pickard", "PKRT", "PKRT"},
709         {"Pierce", "PRS", "PRS"},
710         {"Pierrepont", "PRPN", "PRPN"},
711         {"Pike", "PK", "PK"},
712         {"Pinkham", "PNKM", "PNKM"},
713         {"Pitman", "PTMN", "PTMN"},
714         {"Pitt", "PT", "PT"},
715         {"Pitts", "PTS", "PTS"},
716         {"Plantagenet", "PLNT", "PLNT"},
717         {"Platt", "PLT", "PLT"},
718         {"Platts", "PLTS", "PLTS"},
719         {"Pleis", "PLS", "PLS"},
720         {"Pleiss", "PLS", "PLS"},
721         {"Plisko", "PLSK", "PLSK"},
722         {"Pliskovitch", "PLSK", "PLSK"},
723         {"Plum", "PLM", "PLM"},
724         {"Plume", "PLM", "PLM"},
725         {"Poitou", "PT", "PT"},
726         {"Pomeroy", "PMR", "PMR"},
727         {"Poretiers", "PRTR", "PRTR"},
728         {"Pote", "PT", "PT"},
729         {"Potter", "PTR", "PTR"},
730         {"Potts", "PTS", "PTS"},
731         {"Powell", "PL", "PL"},
732         {"Pratt", "PRT", "PRT"},
733         {"Presbury", "PRSP", "PRSP"},
734         {"Priest", "PRST", "PRST"},
735         {"Prindle", "PRNT", "PRNT"},
736         {"Prior", "PRR", "PRR"},
737         {"Profumo", "PRFM", "PRFM"},
738         {"Purdy", "PRT", "PRT"},
739         {"Purefoy", "PRF", "PRF"},
740         {"Pury", "PR", "PR"},
741         {"Quinter", "KNTR", "KNTR"},
742         {"Rachel", "RXL", "RKL"},
743         {"Rand", "RNT", "RNT"},
744         {"Rankin", "RNKN", "RNKN"},
745         {"Ravenscroft", "RFNS", "RFNS"},
746         {"Raynsford", "RNSF", "RNSF"},
747         {"Reakirt", "RKRT", "RKRT"},
748         {"Reaves", "RFS", "RFS"},
749         {"Reeves", "RFS", "RFS"},
750         {"Reichert", "RXRT", "RKRT"},
751         {"Remmele", "RML", "RML"},
752         {"Reynolds", "RNLT", "RNLT"},
753         {"Rhodes", "RTS", "RTS"},
754         {"Richards", "RXRT", "RKRT"},
755         {"Richardson", "RXRT", "RKRT"},
756         {"Ring", "RNK", "RNK"},
757         {"Roberts", "RPRT", "RPRT"},
758         {"Robertson", "RPRT", "RPRT"},
759         {"Robson", "RPSN", "RPSN"},
760         {"Rodie", "RT", "RT"},
761         {"Rody", "RT", "RT"},
762         {"Rogers", "RKRS", "RJRS"},
763         {"Ross", "RS", "RS"},
764         {"Rosslevin", "RSLF", "RSLF"},
765         {"Rowland", "RLNT", "RLNT"},
766         {"Ruehl", "RL", "RL"},
767         {"Russell", "RSL", "RSL"},
768         {"Ruth", "R0", "RT"},
769         {"Ryan", "RN", "RN"},
770         {"Rysse", "RS", "RS"},
771         {"Sadler", "STLR", "STLR"},
772         {"Salmon", "SLMN", "SLMN"},
773         {"Salter", "SLTR", "SLTR"},
774         {"Salvatore", "SLFT", "SLFT"},
775         {"Sanders", "SNTR", "SNTR"},
776         {"Sands", "SNTS", "SNTS"},
777         {"Sanford", "SNFR", "SNFR"},
778         {"Sanger", "SNKR", "SNJR"},
779         {"Sargent", "SRJN", "SRKN"},
780         {"Saunders", "SNTR", "SNTR"},
781         {"Schilling", "XLNK", "XLNK"},
782         {"Schlegel", "XLKL", "SLKL"},
783         {"Scott", "SKT", "SKT"},
784         {"Sears", "SRS", "SRS"},
785         {"Segersall", "SJRS", "SKRS"},
786         {"Senecal", "SNKL", "SNKL"},
787         {"Sergeaux", "SRJ", "SRK"},
788         {"Severance", "SFRN", "SFRN"},
789         {"Sharp", "XRP", "XRP"},
790         {"Sharpe", "XRP", "XRP"},
791         {"Sharply", "XRPL", "XRPL"},
792         {"Shatswell", "XTSL", "XTSL"},
793         {"Shattack", "XTK", "XTK"},
794         {"Shattock", "XTK", "XTK"},
795         {"Shattuck", "XTK", "XTK"},
796         {"Shaw", "X", "XF"},
797         {"Sheldon", "XLTN", "XLTN"},
798         {"Sherman", "XRMN", "XRMN"},
799         {"Shinn", "XN", "XN"},
800         {"Shirford", "XRFR", "XRFR"},
801         {"Shirley", "XRL", "XRL"},
802         {"Shively", "XFL", "XFL"},
803         {"Shoemaker", "XMKR", "XMKR"},
804         {"Short", "XRT", "XRT"},
805         {"Shotwell", "XTL", "XTL"},
806         {"Shute", "XT", "XT"},
807         {"Sibley", "SPL", "SPL"},
808         {"Silver", "SLFR", "SLFR"},
809         {"Simes", "SMS", "SMS"},
810         {"Sinken", "SNKN", "SNKN"},
811         {"Sinn", "SN", "SN"},
812         {"Skelton", "SKLT", "SKLT"},
813         {"Skiffe", "SKF", "SKF"},
814         {"Skotkonung", "SKTK", "SKTK"},
815         {"Slade", "SLT", "XLT"},
816         {"Slye", "SL", "XL"},
817         {"Smedley", "SMTL", "XMTL"},
818         {"Smith", "SM0", "XMT"},
819         {"Smythe", "SM0", "XMT"},
820         {"Snow", "SN", "XNF"},
821         {"Soole", "SL", "SL"},
822         {"Soule", "SL", "SL"},
823         {"Southworth", "S0R0", "STRT"},
824         {"Sowles", "SLS", "SLS"},
825         {"Spalding", "SPLT", "SPLT"},
826         {"Spark", "SPRK", "SPRK"},
827         {"Spencer", "SPNS", "SPNS"},
828         {"Sperry", "SPR", "SPR"},
829         {"Spofford", "SPFR", "SPFR"},
830         {"Spooner", "SPNR", "SPNR"},
831         {"Sprague", "SPRK", "SPRK"},
832         {"Springer", "SPRN", "SPRN"},
833         {"St. Clair", "STKL", "STKL"},
834         {"St. Claire", "STKL", "STKL"},
835         {"St. Leger", "STLJ", "STLK"},
836         {"St. Omer", "STMR", "STMR"},
837         {"Stafferton", "STFR", "STFR"},
838         {"Stafford", "STFR", "STFR"},
839         {"Stalham", "STLM", "STLM"},
840         {"Stanford", "STNF", "STNF"},
841         {"Stanton", "STNT", "STNT"},
842         {"Star", "STR", "STR"},
843         {"Starbuck", "STRP", "STRP"},
844         {"Starkey", "STRK", "STRK"},
845         {"Starkweather", "STRK", "STRK"},
846         {"Stearns", "STRN", "STRN"},
847         {"Stebbins", "STPN", "STPN"},
848         {"Steele", "STL", "STL"},
849         {"Stephenson", "STFN", "STFN"},
850         {"Stevens", "STFN", "STFN"},
851         {"Stoddard", "STTR", "STTR"},
852         {"Stodder", "STTR", "STTR"},
853         {"Stone", "STN", "STN"},
854         {"Storey", "STR", "STR"},
855         {"Storrada", "STRT", "STRT"},
856         {"Story", "STR", "STR"},
857         {"Stoughton", "STFT", "STFT"},
858         {"Stout", "STT", "STT"},
859         {"Stow", "ST", "STF"},
860         {"Strong", "STRN", "STRN"},
861         {"Strutt", "STRT", "STRT"},
862         {"Stryker", "STRK", "STRK"},
863         {"Stuckeley", "STKL", "STKL"},
864         {"Sturges", "STRJ", "STRK"},
865         {"Sturgess", "STRJ", "STRK"},
866         {"Sturgis", "STRJ", "STRK"},
867         {"Suevain", "SFN", "SFN"},
868         {"Sulyard", "SLRT", "SLRT"},
869         {"Sutton", "STN", "STN"},
870         {"Swain", "SN", "XN"},
871         {"Swayne", "SN", "XN"},
872         {"Swayze", "SS", "XTS"},
873         {"Swift", "SFT", "XFT"},
874         {"Taber", "TPR", "TPR"},
875         {"Talcott", "TLKT", "TLKT"},
876         {"Tarne", "TRN", "TRN"},
877         {"Tatum", "TTM", "TTM"},
878         {"Taverner", "TFRN", "TFRN"},
879         {"Taylor", "TLR", "TLR"},
880         {"Tenney", "TN", "TN"},
881         {"Thayer", "0R", "TR"},
882         {"Thember", "0MPR", "TMPR"},
883         {"Thomas", "TMS", "TMS"},
884         {"Thompson", "TMPS", "TMPS"},
885         {"Thorne", "0RN", "TRN"},
886         {"Thornycraft", "0RNK", "TRNK"},
887         {"Threlkeld", "0RLK", "TRLK"},
888         {"Throckmorton", "0RKM", "TRKM"},
889         {"Thwaits", "0TS", "TTS"},
890         {"Tibbetts", "TPTS", "TPTS"},
891         {"Tidd", "TT", "TT"},
892         {"Tierney", "TRN", "TRN"},
893         {"Tilley", "TL", "TL"},
894         {"Tillieres", "TLRS", "TLRS"},
895         {"Tilly", "TL", "TL"},
896         {"Tisdale", "TSTL", "TSTL"},
897         {"Titus", "TTS", "TTS"},
898         {"Tobey", "TP", "TP"},
899         {"Tooker", "TKR", "TKR"},
900         {"Towle", "TL", "TL"},
901         {"Towne", "TN", "TN"},
902         {"Townsend", "TNSN", "TNSN"},
903         {"Treadway", "TRT", "TRT"},
904         {"Trelawney", "TRLN", "TRLN"},
905         {"Trinder", "TRNT", "TRNT"},
906         {"Tripp", "TRP", "TRP"},
907         {"Trippe", "TRP", "TRP"},
908         {"Trott", "TRT", "TRT"},
909         {"True", "TR", "TR"},
910         {"Trussebut", "TRSP", "TRSP"},
911         {"Tucker", "TKR", "TKR"},
912         {"Turgeon", "TRJN", "TRKN"},
913         {"Turner", "TRNR", "TRNR"},
914         {"Tuttle", "TTL", "TTL"},
915         {"Tyler", "TLR", "TLR"},
916         {"Tylle", "TL", "TL"},
917         {"Tyrrel", "TRL", "TRL"},
918         {"Ua Tuathail", "AT0L", "ATTL"},
919         {"Ulrich", "ALRX", "ALRK"},
920         {"Underhill", "ANTR", "ANTR"},
921         {"Underwood", "ANTR", "ANTR"},
922         {"Unknown", "ANKN", "ANKN"},
923         {"Valentine", "FLNT", "FLNT"},
924         {"Van Egmond", "FNKM", "FNKM"},
925         {"Van der Beek", "FNTR", "FNTR"},
926         {"Vaughan", "FKN", "FKN"},
927         {"Vermenlen", "FRMN", "FRMN"},
928         {"Vincent", "FNSN", "FNSN"},
929         {"Volentine", "FLNT", "FLNT"},
930         {"Wagner", "AKNR", "FKNR"},
931         {"Waite", "AT", "FT"},
932         {"Walker", "ALKR", "FLKR"},
933         {"Walter", "ALTR", "FLTR"},
934         {"Wandell", "ANTL", "FNTL"},
935         {"Wandesford", "ANTS", "FNTS"},
936         {"Warbleton", "ARPL", "FRPL"},
937         {"Ward", "ART", "FRT"},
938         {"Warde", "ART", "FRT"},
939         {"Ware", "AR", "FR"},
940         {"Wareham", "ARHM", "FRHM"},
941         {"Warner", "ARNR", "FRNR"},
942         {"Warren", "ARN", "FRN"},
943         {"Washburne", "AXPR", "FXPR"},
944         {"Waterbury", "ATRP", "FTRP"},
945         {"Watson", "ATSN", "FTSN"},
946         {"WatsonEllithorpe", "ATSN", "FTSN"},
947         {"Watts", "ATS", "FTS"},
948         {"Wayne", "AN", "FN"},
949         {"Webb", "AP", "FP"},
950         {"Weber", "APR", "FPR"},
951         {"Webster", "APST", "FPST"},
952         {"Weed", "AT", "FT"},
953         {"Weeks", "AKS", "FKS"},
954         {"Wells", "ALS", "FLS"},
955         {"Wenzell", "ANSL", "FNTS"},
956         {"West", "AST", "FST"},
957         {"Westbury", "ASTP", "FSTP"},
958         {"Whatlocke", "ATLK", "ATLK"},
959         {"Wheeler", "ALR", "ALR"},
960         {"Whiston", "ASTN", "ASTN"},
961         {"White", "AT", "AT"},
962         {"Whitman", "ATMN", "ATMN"},
963         {"Whiton", "ATN", "ATN"},
964         {"Whitson", "ATSN", "ATSN"},
965         {"Wickes", "AKS", "FKS"},
966         {"Wilbur", "ALPR", "FLPR"},
967         {"Wilcotes", "ALKT", "FLKT"},
968         {"Wilkinson", "ALKN", "FLKN"},
969         {"Willets", "ALTS", "FLTS"},
970         {"Willett", "ALT", "FLT"},
971         {"Willey", "AL", "FL"},
972         {"Williams", "ALMS", "FLMS"},
973         {"Williston", "ALST", "FLST"},
974         {"Wilson", "ALSN", "FLSN"},
975         {"Wimes", "AMS", "FMS"},
976         {"Winch", "ANX", "FNK"},
977         {"Winegar", "ANKR", "FNKR"},
978         {"Wing", "ANK", "FNK"},
979         {"Winsley", "ANSL", "FNSL"},
980         {"Winslow", "ANSL", "FNSL"},
981         {"Winthrop", "AN0R", "FNTR"},
982         {"Wise", "AS", "FS"},
983         {"Wood", "AT", "FT"},
984         {"Woodbridge", "ATPR", "FTPR"},
985         {"Woodward", "ATRT", "FTRT"},
986         {"Wooley", "AL", "FL"},
987         {"Woolley", "AL", "FL"},
988         {"Worth", "AR0", "FRT"},
989         {"Worthen", "AR0N", "FRTN"},
990         {"Worthley", "AR0L", "FRTL"},
991         {"Wright", "RT", "RT"},
992         {"Wyer", "AR", "FR"},
993         {"Wyere", "AR", "FR"},
994         {"Wynkoop", "ANKP", "FNKP"},
995         {"Yarnall", "ARNL", "ARNL"},
996         {"Yeoman", "AMN", "AMN"},
997         {"Yorke", "ARK", "ARK"},
998         {"Young", "ANK", "ANK"},
999         {"ab Wennonwen", "APNN", "APNN"},
1000         {"ap Llewellyn", "APLL", "APLL"},
1001         {"ap Lorwerth", "APLR", "APLR"},
1002         {"d'Angouleme", "TNKL", "TNKL"},
1003         {"de Audeham", "TTHM", "TTHM"},
1004         {"de Bavant", "TPFN", "TPFN"},
1005         {"de Beauchamp", "TPXM", "TPKM"},
1006         {"de Beaumont", "TPMN", "TPMN"},
1007         {"de Bolbec", "TPLP", "TPLP"},
1008         {"de Braiose", "TPRS", "TPRS"},
1009         {"de Braose", "TPRS", "TPRS"},
1010         {"de Briwere", "TPRR", "TPRR"},
1011         {"de Cantelou", "TKNT", "TKNT"},
1012         {"de Cherelton", "TXRL", "TKRL"},
1013         {"de Cherleton", "TXRL", "TKRL"},
1014         {"de Clare", "TKLR", "TKLR"},
1015         {"de Claremont", "TKLR", "TKLR"},
1016         {"de Clifford", "TKLF", "TKLF"},
1017         {"de Colville", "TKLF", "TKLF"},
1018         {"de Courtenay", "TKRT", "TKRT"},
1019         {"de Fauconberg", "TFKN", "TFKN"},
1020         {"de Forest", "TFRS", "TFRS"},
1021         {"de Gai", "TK", "TK"},
1022         {"de Grey", "TKR", "TKR"},
1023         {"de Guernons", "TKRN", "TKRN"},
1024         {"de Haia", "T", "T"},
1025         {"de Harcourt", "TRKR", "TRKR"},
1026         {"de Hastings", "TSTN", "TSTN"},
1027         {"de Hoke", "TK", "TK"},
1028         {"de Hooch", "TK", "TK"},
1029         {"de Hugelville", "TJLF", "TKLF"},
1030         {"de Huntingdon", "TNTN", "TNTN"},
1031         {"de Insula", "TNSL", "TNSL"},
1032         {"de Keynes", "TKNS", "TKNS"},
1033         {"de Lacy", "TLS", "TLS"},
1034         {"de Lexington", "TLKS", "TLKS"},
1035         {"de Lusignan", "TLSN", "TLSK"},
1036         {"de Manvers", "TMNF", "TMNF"},
1037         {"de Montagu", "TMNT", "TMNT"},
1038         {"de Montault", "TMNT", "TMNT"},
1039         {"de Montfort", "TMNT", "TMNT"},
1040         {"de Mortimer", "TMRT", "TMRT"},
1041         {"de Morville", "TMRF", "TMRF"},
1042         {"de Morvois", "TMRF", "TMRF"},
1043         {"de Neufmarche", "TNFM", "TNFM"},
1044         {"de Odingsells", "TTNK", "TTNK"},
1045         {"de Odyngsells", "TTNK", "TTNK"},
1046         {"de Percy", "TPRS", "TPRS"},
1047         {"de Pierrepont", "TPRP", "TPRP"},
1048         {"de Plessetis", "TPLS", "TPLS"},
1049         {"de Porhoet", "TPRT", "TPRT"},
1050         {"de Prouz", "TPRS", "TPRS"},
1051         {"de Quincy", "TKNS", "TKNS"},
1052         {"de Ripellis", "TRPL", "TRPL"},
1053         {"de Ros", "TRS", "TRS"},
1054         {"de Salisbury", "TSLS", "TSLS"},
1055         {"de Sanford", "TSNF", "TSNF"},
1056         {"de Somery", "TSMR", "TSMR"},
1057         {"de St. Hilary", "TSTL", "TSTL"},
1058         {"de St. Liz", "TSTL", "TSTL"},
1059         {"de Sutton", "TSTN", "TSTN"},
1060         {"de Toeni", "TTN", "TTN"},
1061         {"de Tony", "TTN", "TTN"},
1062         {"de Umfreville", "TMFR", "TMFR"},
1063         {"de Valognes", "TFLN", "TFLK"},
1064         {"de Vaux", "TF", "TF"},
1065         {"de Vere", "TFR", "TFR"},
1066         {"de Vermandois", "TFRM", "TFRM"},
1067         {"de Vernon", "TFRN", "TFRN"},
1068         {"de Vexin", "TFKS", "TFKS"},
1069         {"de Vitre", "TFTR", "TFTR"},
1070         {"de Wandesford", "TNTS", "TNTS"},
1071         {"de Warenne", "TRN", "TRN"},
1072         {"de Westbury", "TSTP", "TSTP"},
1073         {"di Saluzzo", "TSLS", "TSLT"},
1074         {"fitz Alan", "FTSL", "FTSL"},
1075         {"fitz Geoffrey", "FTSJ", "FTSK"},
1076         {"fitz Herbert", "FTSR", "FTSR"},
1077         {"fitz John", "FTSJ", "FTSJ"},
1078         {"fitz Patrick", "FTSP", "FTSP"},
1079         {"fitz Payn", "FTSP", "FTSP"},
1080         {"fitz Piers", "FTSP", "FTSP"},
1081         {"fitz Randolph", "FTSR", "FTSR"},
1082         {"fitz Richard", "FTSR", "FTSR"},
1083         {"fitz Robert", "FTSR", "FTSR"},
1084         {"fitz Roy", "FTSR", "FTSR"},
1085         {"fitz Scrob", "FTSS", "FTSS"},
1086         {"fitz Walter", "FTSL", "FTSL"},
1087         {"fitz Warin", "FTSR", "FTSR"},
1088         {"fitz Williams", "FTSL", "FTSL"},
1089         {"la Zouche", "LSX", "LSK"},
1090         {"le Botiller", "LPTL", "LPTL"},
1091         {"le Despenser", "LTSP", "LTSP"},
1092         {"le deSpencer", "LTSP", "LTSP"},
1093         {"of Allendale", "AFLN", "AFLN"},
1094         {"of Angouleme", "AFNK", "AFNK"},
1095         {"of Anjou", "AFNJ", "AFNJ"},
1096         {"of Aquitaine", "AFKT", "AFKT"},
1097         {"of Aumale", "AFML", "AFML"},
1098         {"of Bavaria", "AFPF", "AFPF"},
1099         {"of Boulogne", "AFPL", "AFPL"},
1100         {"of Brittany", "AFPR", "AFPR"},
1101         {"of Brittary", "AFPR", "AFPR"},
1102         {"of Castile", "AFKS", "AFKS"},
1103         {"of Chester", "AFXS", "AFKS"},
1104         {"of Clermont", "AFKL", "AFKL"},
1105         {"of Cologne", "AFKL", "AFKL"},
1106         {"of Dinan", "AFTN", "AFTN"},
1107         {"of Dunbar", "AFTN", "AFTN"},
1108         {"of England", "AFNK", "AFNK"},
1109         {"of Essex", "AFSK", "AFSK"},
1110         {"of Falaise", "AFFL", "AFFL"},
1111         {"of Flanders", "AFFL", "AFFL"},
1112         {"of Galloway", "AFKL", "AFKL"},
1113         {"of Germany", "AFKR", "AFJR"},
1114         {"of Gloucester", "AFKL", "AFKL"},
1115         {"of Heristal", "AFRS", "AFRS"},
1116         {"of Hungary", "AFNK", "AFNK"},
1117         {"of Huntington", "AFNT", "AFNT"},
1118         {"of Kiev", "AFKF", "AFKF"},
1119         {"of Kuno", "AFKN", "AFKN"},
1120         {"of Landen", "AFLN", "AFLN"},
1121         {"of Laon", "AFLN", "AFLN"},
1122         {"of Leinster", "AFLN", "AFLN"},
1123         {"of Lens", "AFLN", "AFLN"},
1124         {"of Lorraine", "AFLR", "AFLR"},
1125         {"of Louvain", "AFLF", "AFLF"},
1126         {"of Mercia", "AFMR", "AFMR"},
1127         {"of Metz", "AFMT", "AFMT"},
1128         {"of Meulan", "AFML", "AFML"},
1129         {"of Nass", "AFNS", "AFNS"},
1130         {"of Normandy", "AFNR", "AFNR"},
1131         {"of Ohningen", "AFNN", "AFNN"},
1132         {"of Orleans", "AFRL", "AFRL"},
1133         {"of Poitou", "AFPT", "AFPT"},
1134         {"of Polotzk", "AFPL", "AFPL"},
1135         {"of Provence", "AFPR", "AFPR"},
1136         {"of Ringelheim", "AFRN", "AFRN"},
1137         {"of Salisbury", "AFSL", "AFSL"},
1138         {"of Saxony", "AFSK", "AFSK"},
1139         {"of Scotland", "AFSK", "AFSK"},
1140         {"of Senlis", "AFSN", "AFSN"},
1141         {"of Stafford", "AFST", "AFST"},
1142         {"of Swabia", "AFSP", "AFSP"},
1143         {"of Tongres", "AFTN", "AFTN"},
1144         {"of the Tributes", "AF0T", "AFTT"},
1145         {"unknown", "ANKN", "ANKN"},
1146         {"van der Gouda", "FNTR", "FNTR"},
1147         {"von Adenbaugh", "FNTN", "FNTN"},
1148         {"ARCHITure", "ARKT", "ARKT"},
1149         {"Arnoff", "ARNF", "ARNF"},
1150         {"Arnow", "ARN", "ARNF"},
1151         {"DANGER", "TNJR", "TNKR"},
1152         {"Jankelowicz", "JNKL", "ANKL"},
1153         {"MANGER", "MNJR", "MNKR"},
1154         {"McClellan", "MKLL", "MKLL"},
1155         {"McHugh", "MK", "MK"},
1156         {"McLaughlin", "MKLF", "MKLF"},
1157         {"ORCHEStra", "ARKS", "ARKS"},
1158         {"ORCHID", "ARKT", "ARKT"},
1159         {"Pierce", "PRS", "PRS"},
1160         {"RANGER", "RNJR", "RNKR"},
1161         {"Schlesinger", "XLSN", "SLSN"},
1162         {"Uomo", "AM", "AM"},
1163         {"Vasserman", "FSRM", "FSRM"},
1164         {"Wasserman", "ASRM", "FSRM"},
1165         {"Womo", "AM", "FM"},
1166         {"Yankelovich", "ANKL", "ANKL"},
1167         {"accede", "AKST", "AKST"},
1168         {"accident", "AKST", "AKST"},
1169         {"adelsheim", "ATLS", "ATLS"},
1170         {"aged", "AJT", "AKT"},
1171         {"ageless", "AJLS", "AKLS"},
1172         {"agency", "AJNS", "AKNS"},
1173         {"aghast", "AKST", "AKST"},
1174         {"agio", "AJ", "AK"},
1175         {"agrimony", "AKRM", "AKRM"},
1176         {"album", "ALPM", "ALPM"},
1177         {"alcmene", "ALKM", "ALKM"},
1178         {"alehouse", "ALHS", "ALHS"},
1179         {"antique", "ANTK", "ANTK"},
1180         {"artois", "ART", "ARTS"},
1181         {"automation", "ATMX", "ATMX"},
1182         {"bacchus", "PKS", "PKS"},
1183         {"bacci", "PX", "PX"},
1184         {"bajador", "PJTR", "PHTR"},
1185         {"bellocchio", "PLX", "PLX"},
1186         {"bertucci", "PRTX", "PRTX"},
1187         {"biaggi", "PJ", "PK"},
1188         {"bough", "P", "P"},
1189         {"breaux", "PR", "PR"},
1190         {"broughton", "PRTN", "PRTN"},
1191         {"cabrillo", "KPRL", "KPR"},
1192         {"caesar", "SSR", "SSR"},
1193         {"cagney", "KKN", "KKN"},
1194         {"campbell", "KMPL", "KMPL"},
1195         {"carlisle", "KRLL", "KRLL"},
1196         {"carlysle", "KRLL", "KRLL"},
1197         {"chemistry", "KMST", "KMST"},
1198         {"chianti", "KNT", "KNT"},
1199         {"chorus", "KRS", "KRS"},
1200         {"cough", "KF", "KF"},
1201         {"czerny", "SRN", "XRN"},
1202         {"deffenbacher", "TFNP", "TFNP"},
1203         {"dumb", "TM", "TM"},
1204         {"edgar", "ATKR", "ATKR"},
1205         {"edge", "AJ", "AJ"},
1206         {"filipowicz", "FLPT", "FLPF"},
1207         {"focaccia", "FKX", "FKX"},
1208         {"gallegos", "KLKS", "KKS"},
1209         {"gambrelli", "KMPR", "KMPR"},
1210         {"geithain", "K0N", "JTN"},
1211         {"ghiradelli", "JRTL", "JRTL"},
1212         {"ghislane", "JLN", "JLN"},
1213         {"gough", "KF", "KF"},
1214         {"hartheim", "HR0M", "HRTM"},
1215         {"heimsheim", "HMSM", "HMSM"},
1216         {"hochmeier", "HKMR", "HKMR"},
1217         {"hugh", "H", "H"},
1218         {"hunger", "HNKR", "HNJR"},
1219         {"hungry", "HNKR", "HNKR"},
1220         {"island", "ALNT", "ALNT"},
1221         {"isle", "AL", "AL"},
1222         {"jose", "HS", "HS"},
1223         {"laugh", "LF", "LF"},
1224         {"mac caffrey", "MKFR", "MKFR"},
1225         {"mac gregor", "MKRK", "MKRK"},
1226         {"pegnitz", "PNTS", "PKNT"},
1227         {"piskowitz", "PSKT", "PSKF"},
1228         {"queen", "KN", "KN"},
1229         {"raspberry", "RSPR", "RSPR"},
1230         {"resnais", "RSN", "RSNS"},
1231         {"rogier", "RJ", "RJR"},
1232         {"rough", "RF", "RF"},
1233         {"san jacinto", "SNHS", "SNHS"},
1234         {"schenker", "XNKR", "SKNK"},
1235         {"schermerhorn", "XRMR", "SKRM"},
1236         {"schmidt", "XMT", "SMT"},
1237         {"schneider", "XNTR", "SNTR"},
1238         {"school", "SKL", "SKL"},
1239         {"schooner", "SKNR", "SKNR"},
1240         {"schrozberg", "XRSP", "SRSP"},
1241         {"schulman", "XLMN", "XLMN"},
1242         {"schwabach", "XPK", "XFPK"},
1243         {"schwarzach", "XRSK", "XFRT"},
1244         {"smith", "SM0", "XMT"},
1245         {"snider", "SNTR", "XNTR"},
1246         {"succeed", "SKST", "SKST"},
1247         {"sugarcane", "XKRK", "SKRK"},
1248         {"svobodka", "SFPT", "SFPT"},
1249         {"tagliaro", "TKLR", "TLR"},
1250         {"thames", "TMS", "TMS"},
1251         {"theilheim", "0LM", "TLM"},
1252         {"thomas", "TMS", "TMS"},
1253         {"thumb", "0M", "TM"},
1254         {"tichner", "TXNR", "TKNR"},
1255         {"tough", "TF", "TF"},
1256         {"umbrella", "AMPR", "AMPR"},
1257         {"vilshofen", "FLXF", "FLXF"},
1258         {"von schuller", "FNXL", "FNXL"},
1259         {"wachtler", "AKTL", "FKTL"},
1260         {"wechsler", "AKSL", "FKSL"},
1261         {"weikersheim", "AKRS", "FKRS"},
1262         {"zhao", "J", "J"}};
1263 
1264     private void checkDoubleMetaphone(final int typeIndex, final boolean alternate) {
1265         for (int i = 0; i < TEST_DATA.length; i++) {
1266             final String value = TEST_DATA[i][0];
1267             assertEquals("Test [" + i + "]=" + value, TEST_DATA[i][typeIndex], this.getStringEncoder().doubleMetaphone(value, alternate));
1268         }
1269     }
1270 
1271     @Override
1272     protected DoubleMetaphone createStringEncoder() {
1273         return new DoubleMetaphone();
1274     }
1275 
1276     /**
1277      * Test alternative encoding.
1278      */
1279     @Test
1280     public void testDoubleMetaphoneAlternate() {
1281         this.checkDoubleMetaphone(ALTERNATE_INDEX, true);
1282     }
1283 
1284     /**
1285      * Test primary encoding.
1286      */
1287     @Test
1288     public void testDoubleMetaphonePrimary() {
1289         this.checkDoubleMetaphone(PRIMARY_INDEX, false);
1290     }
1291 }