| 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 |