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