19 !SoundexStringComparatorTest methodsFor:'tests'! |
19 !SoundexStringComparatorTest methodsFor:'tests'! |
20 |
20 |
21 testSomeCombinations |
21 testSomeCombinations |
22 |code s| |
22 |code s| |
23 |
23 |
24 "/ compares all 4-char combinations against |
24 "/ compares all 4-char combinations against |
25 $A to:$Z do:[:c1 | |
25 $A to:$Z do:[:c1 | |
26 $A to:$Z do:[:c2 | |
26 $A to:$Z do:[:c2 | |
27 $A to:$Z do:[:c3 | |
27 $A to:$Z do:[:c3 | |
28 $A to:$Z do:[:c4 | |
28 $A to:$Z do:[:c4 | |
29 s := String with:c1 with:c2 with:c3 with:c4. |
29 s := String with:c1 with:c2 with:c3 with:c4. |
30 code := (sc phoneticStringsFor:s) first. |
30 code := (sc phoneticStringsFor:s) first. |
31 self assert:( code = s asSoundexCode). |
31 self assert:( code = s asSoundexCode). |
32 ]. |
32 ]. |
33 ]. |
33 ]. |
34 ]. |
34 ]. |
35 ]. |
35 ]. |
36 ! |
36 ! |
37 |
37 |
38 testWellKnownResults |
38 testWellKnownResults |
39 |code soundex| |
39 |code soundex| |
45 code := (sc phoneticStringsFor:'Miller') first. |
45 code := (sc phoneticStringsFor:'Miller') first. |
46 self assert:( code = 'Miller' asSoundexCode). |
46 self assert:( code = 'Miller' asSoundexCode). |
47 |
47 |
48 #( 'Acton' 'Ashdown' 'Ashton' 'Astin' 'Aston' 'Austen' 'Austin' 'Austine' 'Axten') |
48 #( 'Acton' 'Ashdown' 'Ashton' 'Astin' 'Aston' 'Austen' 'Austin' 'Austine' 'Axten') |
49 do:[:w | |
49 do:[:w | |
50 code := soundex value:(w). |
50 code := soundex value:(w). |
51 self assert:( code = 'A235'). |
51 self assert:( code = 'A235'). |
52 ]. |
52 ]. |
53 |
53 |
54 #( 'Reader' 'Reeder' 'Rider' 'Ritter' 'Rothera' 'Rothra' 'Ruder' 'Rutter' 'Ryder') |
54 #( 'Reader' 'Reeder' 'Rider' 'Ritter' 'Rothera' 'Rothra' 'Ruder' 'Rutter' 'Ryder') |
55 do:[:w | |
55 do:[:w | |
56 code := soundex value:(w). |
56 code := soundex value:(w). |
57 self assert:( code = 'R360'). |
57 self assert:( code = 'R360'). |
58 ]. |
58 ]. |
59 |
59 |
60 #( 'Wace' 'Waugh' 'Wookey') |
60 #( 'Wace' 'Waugh' 'Wookey') |
61 do:[:w | |
61 do:[:w | |
62 code := soundex value:(w). |
62 code := soundex value:(w). |
63 self assert:( code = 'W200'). |
63 self assert:( code = 'W200'). |
64 ]. |
64 ]. |
65 |
65 |
66 code := soundex value:('Abbot'). |
66 code := soundex value:('Abbot'). |
67 self assert:( code = 'Abbot' asSoundexCode). |
67 self assert:( code = 'Abbot' asSoundexCode). |
68 self assert:( code = 'A130' ). |
68 self assert:( code = 'A130' ). |
122 self assert: ( soundex value:( 'ADHD' )) = 'A330' . "/ DIFFERENT from miracode (american) soundex |
122 self assert: ( soundex value:( 'ADHD' )) = 'A330' . "/ DIFFERENT from miracode (american) soundex |
123 self assert: ( soundex value:( 'ADWD' )) = 'A330' . "/ DIFFERENT from miracode (american) soundex |
123 self assert: ( soundex value:( 'ADWD' )) = 'A330' . "/ DIFFERENT from miracode (american) soundex |
124 |
124 |
125 "/ self assert: ( soundex value:( 'Ashcroft' )) = 'A22613' . |
125 "/ self assert: ( soundex value:( 'Ashcroft' )) = 'A22613' . |
126 self assert: ( soundex value:( 'Ashcroft' )) = 'A226' . |
126 self assert: ( soundex value:( 'Ashcroft' )) = 'A226' . |
127 self assert: ( soundex value:( 'Tymczak' )) = 'T522' . |
127 self assert: ( soundex value:( 'Tymczak' )) = 'T522' . |
128 self assert: ( soundex value:( 'Jackson' )) = 'J250' . |
128 self assert: ( soundex value:( 'Jackson' )) = 'J250' . |
129 self assert: ( soundex value:( 'Pfister' )) = 'P236' . |
129 self assert: ( soundex value:( 'Pfister' )) = 'P236' . |
130 self assert: ( soundex value:( 'Gutierrez' )) = 'G362' . |
130 self assert: ( soundex value:( 'Gutierrez' )) = 'G362' . |
131 self assert: ( soundex value:( 'Lee' )) = 'L000' . |
131 self assert: ( soundex value:( 'Lee' )) = 'L000' . |
132 "/ self assert: ( soundex value:( 'Washington' )) = 'W25235' . |
132 "/ self assert: ( soundex value:( 'Washington' )) = 'W25235' . |
133 self assert: ( soundex value:( 'Washington' )) = 'W252' . |
133 self assert: ( soundex value:( 'Washington' )) = 'W252' . |
134 |
134 |
135 self assert: ( soundex value:( 'Williams' )) = 'W452' . |
135 self assert: ( soundex value:( 'Williams' )) = 'W452' . |
136 "/ self assert: ( soundex value:( 'Baragwanath' )) = 'B6253' . |
136 "/ self assert: ( soundex value:( 'Baragwanath' )) = 'B6253' . |
137 self assert: ( soundex value:( 'Baragwanath' )) = 'B625' . |
137 self assert: ( soundex value:( 'Baragwanath' )) = 'B625' . |
138 self assert: ( soundex value:( 'Donnell' )) = 'D540' . |
138 self assert: ( soundex value:( 'Donnell' )) = 'D540' . |
139 self assert: ( soundex value:( 'Lloyd' )) = 'L300' . |
139 self assert: ( soundex value:( 'Lloyd' )) = 'L300' . |
140 self assert: ( soundex value:( 'Woolcock' )) = 'W422' . |
140 self assert: ( soundex value:( 'Woolcock' )) = 'W422' . |
141 |
141 |
142 self assert: ( soundex value:( 'Cook' )) = 'C200' . |
142 self assert: ( soundex value:( 'Cook' )) = 'C200' . |
143 |
143 |
144 self assert: ( soundex value:( 'Allricht' )) = 'A462' . |
144 self assert: ( soundex value:( 'Allricht' )) = 'A462' . |