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 |