Conditions | 1 |
Total Lines | 268 |
Code Lines | 251 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
1 | # -*- coding: utf-8 -*- |
||
126 | def test_refined_soundex(self): |
||
127 | """Test abydos.phonetic.refined_soundex.""" |
||
128 | # http://ntz-develop.blogspot.com/2011/03/phonetic-algorithms.html |
||
129 | self.assertEqual(refined_soundex('Braz'), 'B195') |
||
130 | self.assertEqual(refined_soundex('Broz'), 'B195') |
||
131 | self.assertEqual(refined_soundex('Caren'), 'C398') |
||
132 | self.assertEqual(refined_soundex('Caron'), 'C398') |
||
133 | self.assertEqual(refined_soundex('Carren'), 'C398') |
||
134 | self.assertEqual(refined_soundex('Charon'), 'C398') |
||
135 | self.assertEqual(refined_soundex('Corain'), 'C398') |
||
136 | self.assertEqual(refined_soundex('Coram'), 'C398') |
||
137 | self.assertEqual(refined_soundex('Corran'), 'C398') |
||
138 | self.assertEqual(refined_soundex('Corrin'), 'C398') |
||
139 | self.assertEqual(refined_soundex('Corwin'), 'C398') |
||
140 | self.assertEqual(refined_soundex('Curran'), 'C398') |
||
141 | self.assertEqual(refined_soundex('Curreen'), 'C398') |
||
142 | self.assertEqual(refined_soundex('Currin'), 'C398') |
||
143 | self.assertEqual(refined_soundex('Currom'), 'C398') |
||
144 | self.assertEqual(refined_soundex('Currum'), 'C398') |
||
145 | self.assertEqual(refined_soundex('Curwen'), 'C398') |
||
146 | self.assertEqual(refined_soundex('Caren'), 'C398') |
||
147 | self.assertEqual(refined_soundex('Caren'), 'C398') |
||
148 | self.assertEqual(refined_soundex('Caren'), 'C398') |
||
149 | self.assertEqual(refined_soundex('Caren'), 'C398') |
||
150 | self.assertEqual(refined_soundex('Caren'), 'C398') |
||
151 | self.assertEqual(refined_soundex('Caren'), 'C398') |
||
152 | self.assertEqual(refined_soundex('Caren'), 'C398') |
||
153 | self.assertEqual(refined_soundex('Hairs'), 'H93') |
||
154 | self.assertEqual(refined_soundex('Hark'), 'H93') |
||
155 | self.assertEqual(refined_soundex('Hars'), 'H93') |
||
156 | self.assertEqual(refined_soundex('Hayers'), 'H93') |
||
157 | self.assertEqual(refined_soundex('Heers'), 'H93') |
||
158 | self.assertEqual(refined_soundex('Hiers'), 'H93') |
||
159 | self.assertEqual(refined_soundex('Lambard'), 'L78196') |
||
160 | self.assertEqual(refined_soundex('Lambart'), 'L78196') |
||
161 | self.assertEqual(refined_soundex('Lambert'), 'L78196') |
||
162 | self.assertEqual(refined_soundex('Lambird'), 'L78196') |
||
163 | self.assertEqual(refined_soundex('Lampaert'), 'L78196') |
||
164 | self.assertEqual(refined_soundex('Lampard'), 'L78196') |
||
165 | self.assertEqual(refined_soundex('Lampart'), 'L78196') |
||
166 | self.assertEqual(refined_soundex('Lamperd'), 'L78196') |
||
167 | self.assertEqual(refined_soundex('Lampert'), 'L78196') |
||
168 | self.assertEqual(refined_soundex('Lamport'), 'L78196') |
||
169 | self.assertEqual(refined_soundex('Limbert'), 'L78196') |
||
170 | self.assertEqual(refined_soundex('Lombard'), 'L78196') |
||
171 | self.assertEqual(refined_soundex('Nolton'), 'N8768') |
||
172 | self.assertEqual(refined_soundex('Noulton'), 'N8768') |
||
173 | |||
174 | # http://trimc-nlp.blogspot.com/2015/03/the-soundex-algorithm.html |
||
175 | self.assertEqual(refined_soundex('Craig'), 'C394') |
||
176 | self.assertEqual(refined_soundex('Crag'), 'C394') |
||
177 | self.assertEqual(refined_soundex('Crejg'), 'C394') |
||
178 | self.assertEqual(refined_soundex('Creig'), 'C394') |
||
179 | self.assertEqual(refined_soundex('Craigg'), 'C394') |
||
180 | self.assertEqual(refined_soundex('Craug'), 'C394') |
||
181 | self.assertEqual(refined_soundex('Craiggg'), 'C394') |
||
182 | self.assertEqual(refined_soundex('Creg'), 'C394') |
||
183 | self.assertEqual(refined_soundex('Cregg'), 'C394') |
||
184 | self.assertEqual(refined_soundex('Creag'), 'C394') |
||
185 | self.assertEqual(refined_soundex('Greg'), 'G494') |
||
186 | self.assertEqual(refined_soundex('Gregg'), 'G494') |
||
187 | self.assertEqual(refined_soundex('Graig'), 'G494') |
||
188 | self.assertEqual(refined_soundex('Greig'), 'G494') |
||
189 | self.assertEqual(refined_soundex('Greggg'), 'G494') |
||
190 | self.assertEqual(refined_soundex('Groeg'), 'G494') |
||
191 | self.assertEqual(refined_soundex('Graj'), 'G494') |
||
192 | self.assertEqual(refined_soundex('Grej'), 'G494') |
||
193 | self.assertEqual(refined_soundex('Grreg'), 'G494') |
||
194 | self.assertEqual(refined_soundex('Greag'), 'G494') |
||
195 | self.assertEqual(refined_soundex('Grig'), 'G494') |
||
196 | self.assertEqual(refined_soundex('Kregg'), 'K394') |
||
197 | self.assertEqual(refined_soundex('Kraig'), 'K394') |
||
198 | self.assertEqual(refined_soundex('Krag'), 'K394') |
||
199 | self.assertEqual(refined_soundex('Kreig'), 'K394') |
||
200 | self.assertEqual(refined_soundex('Krug'), 'K394') |
||
201 | self.assertEqual(refined_soundex('Kreg'), 'K394') |
||
202 | self.assertEqual(refined_soundex('Krieg'), 'K394') |
||
203 | self.assertEqual(refined_soundex('Krijg'), 'K394') |
||
204 | |||
205 | # Apache Commons test cases |
||
206 | # http://svn.apache.org/viewvc/commons/proper/codec/trunk/src/test/java/org/apache/commons/codec/language/RefinedSoundexTest.java?view=markup |
||
207 | self.assertEqual(refined_soundex('testing'), 'T63684') |
||
208 | self.assertEqual(refined_soundex('TESTING'), 'T63684') |
||
209 | self.assertEqual(refined_soundex('The'), 'T6') |
||
210 | self.assertEqual(refined_soundex('quick'), 'Q53') |
||
211 | self.assertEqual(refined_soundex('brown'), 'B198') |
||
212 | self.assertEqual(refined_soundex('fox'), 'F25') |
||
213 | self.assertEqual(refined_soundex('jumped'), 'J4816') |
||
214 | self.assertEqual(refined_soundex('over'), 'O29') |
||
215 | self.assertEqual(refined_soundex('the'), 'T6') |
||
216 | self.assertEqual(refined_soundex('lazy'), 'L75') |
||
217 | self.assertEqual(refined_soundex('dogs'), 'D643') |
||
218 | |||
219 | # Test with retain_vowels=True |
||
220 | # http://ntz-develop.blogspot.com/2011/03/phonetic-algorithms.html |
||
221 | self.assertEqual(refined_soundex('Braz', retain_vowels=True), 'B1905') |
||
222 | self.assertEqual(refined_soundex('Broz', retain_vowels=True), 'B1905') |
||
223 | self.assertEqual(refined_soundex('Caren', retain_vowels=True), |
||
224 | 'C30908') |
||
225 | self.assertEqual(refined_soundex('Caron', retain_vowels=True), |
||
226 | 'C30908') |
||
227 | self.assertEqual(refined_soundex('Carren', retain_vowels=True), |
||
228 | 'C30908') |
||
229 | self.assertEqual(refined_soundex('Charon', retain_vowels=True), |
||
230 | 'C30908') |
||
231 | self.assertEqual(refined_soundex('Corain', retain_vowels=True), |
||
232 | 'C30908') |
||
233 | self.assertEqual(refined_soundex('Coram', retain_vowels=True), |
||
234 | 'C30908') |
||
235 | self.assertEqual(refined_soundex('Corran', retain_vowels=True), |
||
236 | 'C30908') |
||
237 | self.assertEqual(refined_soundex('Corrin', retain_vowels=True), |
||
238 | 'C30908') |
||
239 | self.assertEqual(refined_soundex('Corwin', retain_vowels=True), |
||
240 | 'C30908') |
||
241 | self.assertEqual(refined_soundex('Curran', retain_vowels=True), |
||
242 | 'C30908') |
||
243 | self.assertEqual(refined_soundex('Curreen', retain_vowels=True), |
||
244 | 'C30908') |
||
245 | self.assertEqual(refined_soundex('Currin', retain_vowels=True), |
||
246 | 'C30908') |
||
247 | self.assertEqual(refined_soundex('Currom', retain_vowels=True), |
||
248 | 'C30908') |
||
249 | self.assertEqual(refined_soundex('Currum', retain_vowels=True), |
||
250 | 'C30908') |
||
251 | self.assertEqual(refined_soundex('Curwen', retain_vowels=True), |
||
252 | 'C30908') |
||
253 | self.assertEqual(refined_soundex('Caren', retain_vowels=True), |
||
254 | 'C30908') |
||
255 | self.assertEqual(refined_soundex('Caren', retain_vowels=True), |
||
256 | 'C30908') |
||
257 | self.assertEqual(refined_soundex('Caren', retain_vowels=True), |
||
258 | 'C30908') |
||
259 | self.assertEqual(refined_soundex('Caren', retain_vowels=True), |
||
260 | 'C30908') |
||
261 | self.assertEqual(refined_soundex('Caren', retain_vowels=True), |
||
262 | 'C30908') |
||
263 | self.assertEqual(refined_soundex('Caren', retain_vowels=True), |
||
264 | 'C30908') |
||
265 | self.assertEqual(refined_soundex('Caren', retain_vowels=True), |
||
266 | 'C30908') |
||
267 | self.assertEqual(refined_soundex('Hairs', retain_vowels=True), 'H093') |
||
268 | self.assertEqual(refined_soundex('Hark', retain_vowels=True), 'H093') |
||
269 | self.assertEqual(refined_soundex('Hars', retain_vowels=True), 'H093') |
||
270 | self.assertEqual(refined_soundex('Hayers', retain_vowels=True), 'H093') |
||
271 | self.assertEqual(refined_soundex('Heers', retain_vowels=True), 'H093') |
||
272 | self.assertEqual(refined_soundex('Hiers', retain_vowels=True), 'H093') |
||
273 | self.assertEqual(refined_soundex('Lambard', retain_vowels=True), |
||
274 | 'L7081096') |
||
275 | self.assertEqual(refined_soundex('Lambart', retain_vowels=True), |
||
276 | 'L7081096') |
||
277 | self.assertEqual(refined_soundex('Lambert', retain_vowels=True), |
||
278 | 'L7081096') |
||
279 | self.assertEqual(refined_soundex('Lambird', retain_vowels=True), |
||
280 | 'L7081096') |
||
281 | self.assertEqual(refined_soundex('Lampaert', retain_vowels=True), |
||
282 | 'L7081096') |
||
283 | self.assertEqual(refined_soundex('Lampard', retain_vowels=True), |
||
284 | 'L7081096') |
||
285 | self.assertEqual(refined_soundex('Lampart', retain_vowels=True), |
||
286 | 'L7081096') |
||
287 | self.assertEqual(refined_soundex('Lamperd', retain_vowels=True), |
||
288 | 'L7081096') |
||
289 | self.assertEqual(refined_soundex('Lampert', retain_vowels=True), |
||
290 | 'L7081096') |
||
291 | self.assertEqual(refined_soundex('Lamport', retain_vowels=True), |
||
292 | 'L7081096') |
||
293 | self.assertEqual(refined_soundex('Limbert', retain_vowels=True), |
||
294 | 'L7081096') |
||
295 | self.assertEqual(refined_soundex('Lombard', retain_vowels=True), |
||
296 | 'L7081096') |
||
297 | self.assertEqual(refined_soundex('Nolton', retain_vowels=True), |
||
298 | 'N807608') |
||
299 | self.assertEqual(refined_soundex('Noulton', retain_vowels=True), |
||
300 | 'N807608') |
||
301 | |||
302 | # http://trimc-nlp.blogspot.com/2015/03/the-soundex-algorithm.html |
||
303 | self.assertEqual(refined_soundex('Craig', retain_vowels=True), 'C3904') |
||
304 | self.assertEqual(refined_soundex('Crag', retain_vowels=True), 'C3904') |
||
305 | self.assertEqual(refined_soundex('Crejg', retain_vowels=True), 'C3904') |
||
306 | self.assertEqual(refined_soundex('Creig', retain_vowels=True), 'C3904') |
||
307 | self.assertEqual(refined_soundex('Craigg', retain_vowels=True), |
||
308 | 'C3904') |
||
309 | self.assertEqual(refined_soundex('Craug', retain_vowels=True), 'C3904') |
||
310 | self.assertEqual(refined_soundex('Craiggg', retain_vowels=True), |
||
311 | 'C3904') |
||
312 | self.assertEqual(refined_soundex('Creg', retain_vowels=True), 'C3904') |
||
313 | self.assertEqual(refined_soundex('Cregg', retain_vowels=True), 'C3904') |
||
314 | self.assertEqual(refined_soundex('Creag', retain_vowels=True), 'C3904') |
||
315 | self.assertEqual(refined_soundex('Greg', retain_vowels=True), 'G4904') |
||
316 | self.assertEqual(refined_soundex('Gregg', retain_vowels=True), 'G4904') |
||
317 | self.assertEqual(refined_soundex('Graig', retain_vowels=True), 'G4904') |
||
318 | self.assertEqual(refined_soundex('Greig', retain_vowels=True), 'G4904') |
||
319 | self.assertEqual(refined_soundex('Greggg', retain_vowels=True), |
||
320 | 'G4904') |
||
321 | self.assertEqual(refined_soundex('Groeg', retain_vowels=True), 'G4904') |
||
322 | self.assertEqual(refined_soundex('Graj', retain_vowels=True), 'G4904') |
||
323 | self.assertEqual(refined_soundex('Grej', retain_vowels=True), 'G4904') |
||
324 | self.assertEqual(refined_soundex('Grreg', retain_vowels=True), 'G4904') |
||
325 | self.assertEqual(refined_soundex('Greag', retain_vowels=True), 'G4904') |
||
326 | self.assertEqual(refined_soundex('Grig', retain_vowels=True), 'G4904') |
||
327 | self.assertEqual(refined_soundex('Kregg', retain_vowels=True), 'K3904') |
||
328 | self.assertEqual(refined_soundex('Kraig', retain_vowels=True), 'K3904') |
||
329 | self.assertEqual(refined_soundex('Krag', retain_vowels=True), 'K3904') |
||
330 | self.assertEqual(refined_soundex('Kreig', retain_vowels=True), 'K3904') |
||
331 | self.assertEqual(refined_soundex('Krug', retain_vowels=True), 'K3904') |
||
332 | self.assertEqual(refined_soundex('Kreg', retain_vowels=True), 'K3904') |
||
333 | self.assertEqual(refined_soundex('Krieg', retain_vowels=True), 'K3904') |
||
334 | self.assertEqual(refined_soundex('Krijg', retain_vowels=True), 'K3904') |
||
335 | |||
336 | # Apache Commons test cases |
||
337 | # http://svn.apache.org/viewvc/commons/proper/codec/trunk/src/test/java/org/apache/commons/codec/language/RefinedSoundexTest.java?view=markup |
||
338 | self.assertEqual(refined_soundex('testing', retain_vowels=True), |
||
339 | 'T6036084') |
||
340 | self.assertEqual(refined_soundex('TESTING', retain_vowels=True), |
||
341 | 'T6036084') |
||
342 | self.assertEqual(refined_soundex('The', retain_vowels=True), 'T60') |
||
343 | self.assertEqual(refined_soundex('quick', retain_vowels=True), 'Q503') |
||
344 | self.assertEqual(refined_soundex('brown', retain_vowels=True), 'B1908') |
||
345 | self.assertEqual(refined_soundex('fox', retain_vowels=True), 'F205') |
||
346 | self.assertEqual(refined_soundex('jumped', retain_vowels=True), |
||
347 | 'J408106') |
||
348 | self.assertEqual(refined_soundex('over', retain_vowels=True), 'O0209') |
||
349 | self.assertEqual(refined_soundex('the', retain_vowels=True), 'T60') |
||
350 | self.assertEqual(refined_soundex('lazy', retain_vowels=True), 'L7050') |
||
351 | self.assertEqual(refined_soundex('dogs', retain_vowels=True), 'D6043') |
||
352 | |||
353 | # length tests |
||
354 | self.assertEqual(refined_soundex('testing', max_length=4, |
||
355 | zero_pad=True), 'T636') |
||
356 | self.assertEqual(refined_soundex('TESTING', max_length=4, |
||
357 | zero_pad=True), 'T636') |
||
358 | self.assertEqual(refined_soundex('The', max_length=4, zero_pad=True), |
||
359 | 'T600') |
||
360 | self.assertEqual(refined_soundex('quick', max_length=4, zero_pad=True), |
||
361 | 'Q530') |
||
362 | self.assertEqual(refined_soundex('brown', max_length=4, zero_pad=True), |
||
363 | 'B198') |
||
364 | self.assertEqual(refined_soundex('fox', max_length=4, zero_pad=True), |
||
365 | 'F250') |
||
366 | self.assertEqual(refined_soundex('jumped', max_length=4, |
||
367 | zero_pad=True), 'J481') |
||
368 | self.assertEqual(refined_soundex('over', max_length=4, zero_pad=True), |
||
369 | 'O290') |
||
370 | self.assertEqual(refined_soundex('the', max_length=4, zero_pad=True), |
||
371 | 'T600') |
||
372 | self.assertEqual(refined_soundex('lazy', max_length=4, zero_pad=True), |
||
373 | 'L750') |
||
374 | self.assertEqual(refined_soundex('dogs', max_length=4, zero_pad=True), |
||
375 | 'D643') |
||
376 | self.assertEqual(refined_soundex('The', max_length=4), |
||
377 | 'T6') |
||
378 | self.assertEqual(refined_soundex('quick', max_length=4), |
||
379 | 'Q53') |
||
380 | self.assertEqual(refined_soundex('brown', max_length=4), |
||
381 | 'B198') |
||
382 | self.assertEqual(refined_soundex('fox', max_length=4), |
||
383 | 'F25') |
||
384 | self.assertEqual(refined_soundex('jumped', max_length=4), |
||
385 | 'J481') |
||
386 | self.assertEqual(refined_soundex('over', max_length=4), |
||
387 | 'O29') |
||
388 | self.assertEqual(refined_soundex('the', max_length=4), |
||
389 | 'T6') |
||
390 | self.assertEqual(refined_soundex('lazy', max_length=4), |
||
391 | 'L75') |
||
392 | self.assertEqual(refined_soundex('dogs', max_length=4), |
||
393 | 'D643') |
||
394 | |||
748 |