| Conditions | 1 |
| Total Lines | 139 |
| Code Lines | 127 |
| 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 -*- |
||
| 60 | def test_spanish_metaphone(self): |
||
| 61 | """Test abydos.phonetic.spanish_metaphone.""" |
||
| 62 | # Base case |
||
| 63 | self.assertEqual(spanish_metaphone(''), '') |
||
| 64 | |||
| 65 | # Examples given in |
||
| 66 | # https://github.com/amsqr/Spanish-Metaphone/blob/master/phonetic_algorithms_es.py |
||
| 67 | self.assertEqual(spanish_metaphone('X'), 'X') |
||
| 68 | self.assertEqual(spanish_metaphone('xplosion'), 'EXPLSN') |
||
| 69 | self.assertEqual(spanish_metaphone('escalera'), 'ESKLR') |
||
| 70 | self.assertEqual(spanish_metaphone('scalera'), 'ESKLR') |
||
| 71 | self.assertEqual(spanish_metaphone('mi'), 'M') |
||
| 72 | self.assertEqual(spanish_metaphone('tu'), 'T') |
||
| 73 | self.assertEqual(spanish_metaphone('su'), 'S') |
||
| 74 | self.assertEqual(spanish_metaphone('te'), 'T') |
||
| 75 | self.assertEqual(spanish_metaphone('ochooomiiiillllllll'), 'OXMYY') |
||
| 76 | self.assertEqual(spanish_metaphone('complicado'), 'KMPLKD') |
||
| 77 | self.assertEqual(spanish_metaphone('ácaro'), 'AKR') |
||
| 78 | self.assertEqual(spanish_metaphone('ácido'), 'AZD') |
||
| 79 | self.assertEqual(spanish_metaphone('clown'), 'KLUN') |
||
| 80 | self.assertEqual(spanish_metaphone('down'), 'DUN') |
||
| 81 | self.assertEqual(spanish_metaphone('col'), 'KL') |
||
| 82 | self.assertEqual(spanish_metaphone('clon'), 'KLN') |
||
| 83 | self.assertEqual(spanish_metaphone('waterpolo'), 'UTRPL') |
||
| 84 | self.assertEqual(spanish_metaphone('aquino'), 'AKN') |
||
| 85 | self.assertEqual(spanish_metaphone('rebosar'), 'RVSR') |
||
| 86 | self.assertEqual(spanish_metaphone('rebozar'), 'RVZR') |
||
| 87 | self.assertEqual(spanish_metaphone('grajea'), 'GRJ') |
||
| 88 | self.assertEqual(spanish_metaphone('gragea'), 'GRJ') |
||
| 89 | self.assertEqual(spanish_metaphone('encima'), 'ENZM') |
||
| 90 | self.assertEqual(spanish_metaphone('enzima'), 'ENZM') |
||
| 91 | self.assertEqual(spanish_metaphone('alhamar'), 'ALAMR') |
||
| 92 | self.assertEqual(spanish_metaphone('abollar'), 'AVYR') |
||
| 93 | self.assertEqual(spanish_metaphone('aboyar'), 'AVYR') |
||
| 94 | self.assertEqual(spanish_metaphone('huevo'), 'UV') |
||
| 95 | self.assertEqual(spanish_metaphone('webo'), 'UV') |
||
| 96 | self.assertEqual(spanish_metaphone('macho'), 'MX') |
||
| 97 | self.assertEqual(spanish_metaphone('xocolate'), 'XKLT') |
||
| 98 | self.assertEqual(spanish_metaphone('chocolate'), 'XKLT') |
||
| 99 | self.assertEqual(spanish_metaphone('axioma'), 'AXM') |
||
| 100 | self.assertEqual(spanish_metaphone('abedul'), 'AVDL') |
||
| 101 | self.assertEqual(spanish_metaphone('a'), 'A') |
||
| 102 | self.assertEqual(spanish_metaphone('gengibre'), 'JNJVR') |
||
| 103 | self.assertEqual(spanish_metaphone('yema'), 'YM') |
||
| 104 | self.assertEqual(spanish_metaphone('wHISKY'), 'UISKY') |
||
| 105 | self.assertEqual(spanish_metaphone('google'), 'GGL') |
||
| 106 | self.assertEqual(spanish_metaphone('xilófono'), 'XLFN') |
||
| 107 | self.assertEqual(spanish_metaphone('web'), 'UV') |
||
| 108 | self.assertEqual(spanish_metaphone('guerra'), 'GRR') |
||
| 109 | self.assertEqual(spanish_metaphone('pingüino'), 'PNUN') |
||
| 110 | self.assertEqual(spanish_metaphone('si'), 'S') |
||
| 111 | self.assertEqual(spanish_metaphone('ke'), 'K') |
||
| 112 | self.assertEqual(spanish_metaphone('que'), 'K') |
||
| 113 | self.assertEqual(spanish_metaphone('tu'), 'T') |
||
| 114 | self.assertEqual(spanish_metaphone('gato'), 'GT') |
||
| 115 | self.assertEqual(spanish_metaphone('gitano'), 'JTN') |
||
| 116 | self.assertEqual(spanish_metaphone('queso'), 'KS') |
||
| 117 | self.assertEqual(spanish_metaphone('paquete'), 'PKT') |
||
| 118 | self.assertEqual(spanish_metaphone('cuco'), 'KK') |
||
| 119 | self.assertEqual(spanish_metaphone('perro'), 'PRR') |
||
| 120 | self.assertEqual(spanish_metaphone('pero'), 'PR') |
||
| 121 | self.assertEqual(spanish_metaphone('arrebato'), 'ARRVT') |
||
| 122 | self.assertEqual(spanish_metaphone('hola'), 'OL') |
||
| 123 | self.assertEqual(spanish_metaphone('zapato'), 'ZPT') |
||
| 124 | self.assertEqual(spanish_metaphone('españa'), 'ESPNY') |
||
| 125 | self.assertEqual(spanish_metaphone('garrulo'), 'GRRL') |
||
| 126 | self.assertEqual(spanish_metaphone('expansión'), 'EXPNSN') |
||
| 127 | self.assertEqual(spanish_metaphone('membrillo'), 'MMVRY') |
||
| 128 | self.assertEqual(spanish_metaphone('jamón'), 'JMN') |
||
| 129 | self.assertEqual(spanish_metaphone('risa'), 'RS') |
||
| 130 | self.assertEqual(spanish_metaphone('caricia'), 'KRZ') |
||
| 131 | self.assertEqual(spanish_metaphone('llaves'), 'YVS') |
||
| 132 | self.assertEqual(spanish_metaphone('paella'), 'PY') |
||
| 133 | self.assertEqual(spanish_metaphone('cerilla'), 'ZRY') |
||
| 134 | |||
| 135 | # tests from file:///home/chrislit/Downloads/ICTRS_2016_12.pdf |
||
| 136 | # including of the modified version of the algorithm |
||
| 137 | self.assertEqual(spanish_metaphone('Caricia'), 'KRZ') |
||
| 138 | self.assertEqual(spanish_metaphone('Caricia', modified=True), 'KRZ') |
||
| 139 | self.assertEqual(spanish_metaphone('Llaves'), 'YVS') |
||
| 140 | self.assertEqual(spanish_metaphone('Llaves', modified=True), 'YVZ') |
||
| 141 | self.assertEqual(spanish_metaphone('Paella'), 'PY') |
||
| 142 | self.assertEqual(spanish_metaphone('Paella', modified=True), 'PY') |
||
| 143 | self.assertEqual(spanish_metaphone('Cerilla'), 'ZRY') |
||
| 144 | self.assertEqual(spanish_metaphone('Cerilla', modified=True), 'ZRY') |
||
| 145 | self.assertEqual(spanish_metaphone('Empeorar'), 'EMPRR') |
||
| 146 | self.assertEqual(spanish_metaphone('Empeorar', modified=True), 'ENPRR') |
||
| 147 | self.assertEqual(spanish_metaphone('Embotellar'), 'EMVTYR') |
||
| 148 | self.assertEqual(spanish_metaphone('Embotellar', modified=True), |
||
| 149 | 'ENVTYR') |
||
| 150 | self.assertEqual(spanish_metaphone('Hoy'), 'OY') |
||
| 151 | self.assertEqual(spanish_metaphone('Hoy', modified=True), 'OY') |
||
| 152 | self.assertEqual(spanish_metaphone('Xochimilco'), 'XXMLK') |
||
| 153 | self.assertEqual(spanish_metaphone('Xochimilco', modified=True), |
||
| 154 | 'XXMLK') |
||
| 155 | self.assertEqual(spanish_metaphone('Psiquiatra'), 'PSKTR') |
||
| 156 | self.assertEqual(spanish_metaphone('Psiquiatra', modified=True), |
||
| 157 | 'ZKTR') |
||
| 158 | self.assertEqual(spanish_metaphone('siquiatra'), 'SKTR') |
||
| 159 | self.assertEqual(spanish_metaphone('siquiatra', modified=True), 'ZKTR') |
||
| 160 | self.assertEqual(spanish_metaphone('Obscuro'), 'OVSKR') |
||
| 161 | self.assertEqual(spanish_metaphone('Obscuro', modified=True), 'OZKR') |
||
| 162 | self.assertEqual(spanish_metaphone('Oscuro'), 'OSKR') |
||
| 163 | self.assertEqual(spanish_metaphone('Oscuro', modified=True), 'OZKR') |
||
| 164 | self.assertEqual(spanish_metaphone('Combate'), 'KMVT') |
||
| 165 | self.assertEqual(spanish_metaphone('Combate', modified=True), 'KNVT') |
||
| 166 | self.assertEqual(spanish_metaphone('Convate'), 'KNVT') |
||
| 167 | self.assertEqual(spanish_metaphone('Convate', modified=True), 'KNVT') |
||
| 168 | self.assertEqual(spanish_metaphone('Conbate'), 'KNVT') |
||
| 169 | self.assertEqual(spanish_metaphone('Conbate', modified=True), 'KNVT') |
||
| 170 | self.assertEqual(spanish_metaphone('Comportar'), 'KMPRTR') |
||
| 171 | self.assertEqual(spanish_metaphone('Comportar', modified=True), |
||
| 172 | 'KNPRTR') |
||
| 173 | self.assertEqual(spanish_metaphone('Conportar'), 'KNPRTR') |
||
| 174 | self.assertEqual(spanish_metaphone('Conportar', modified=True), |
||
| 175 | 'KNPRTR') |
||
| 176 | self.assertEqual(spanish_metaphone('Zapato'), 'ZPT') |
||
| 177 | self.assertEqual(spanish_metaphone('Zapato', modified=True), 'ZPT') |
||
| 178 | self.assertEqual(spanish_metaphone('Sapato'), 'SPT') |
||
| 179 | self.assertEqual(spanish_metaphone('Sapato', modified=True), 'ZPT') |
||
| 180 | self.assertEqual(spanish_metaphone('Escalera'), 'ESKLR') |
||
| 181 | self.assertEqual(spanish_metaphone('Escalera', modified=True), 'EZKLR') |
||
| 182 | self.assertEqual(spanish_metaphone('scalera'), 'ESKLR') |
||
| 183 | self.assertEqual(spanish_metaphone('scalera', modified=True), 'EZKLR') |
||
| 184 | |||
| 185 | # terms from algorithm/source |
||
| 186 | self.assertEqual(spanish_metaphone('acción'), 'AXN') |
||
| 187 | self.assertEqual(spanish_metaphone('reacción'), 'RXN') |
||
| 188 | self.assertEqual(spanish_metaphone('cesar'), 'ZSR') |
||
| 189 | self.assertEqual(spanish_metaphone('cien'), 'ZN') |
||
| 190 | self.assertEqual(spanish_metaphone('cid'), 'ZD') |
||
| 191 | self.assertEqual(spanish_metaphone('conciencia'), 'KNZNZ') |
||
| 192 | self.assertEqual(spanish_metaphone('gente'), 'JNT') |
||
| 193 | self.assertEqual(spanish_metaphone('ecologia'), 'EKLJ') |
||
| 194 | |||
| 195 | # completing coverage |
||
| 196 | self.assertEqual(spanish_metaphone('hola'), 'OL') |
||
| 197 | self.assertEqual(spanish_metaphone('aqi'), 'AK') |
||
| 198 | self.assertEqual(spanish_metaphone('hjordis'), 'HJRDS') |
||
| 199 | |||
| 203 |