1
+ import pytest
2
+
3
+ from accents import filter_accents
4
+
5
+ # texts taken from:
6
+ # https://losviajesdedomi.com/las-15-ciudades-mas-bonitas-de-espana/
7
+ # and:
8
+ # https://www2.rocketlanguages.com/french/lessons/french-accents/
9
+ texts = (
10
+ ("Denominada en Euskera como Donostia, está "
11
+ "situada en el Golfo de Vizcaya en la provincia "
12
+ "de Guipúzcoa. San Sebastián no es solo conocida "
13
+ "por su afamado festival de cine, sino también "
14
+ "por la belleza de sus calles, las cuales tienen "
15
+ "un corte francés y aburguesado que atraen cada "
16
+ "año a centenares de turistas." ),
17
+ ("La capital de Cataluña, es la ciudad más visitada "
18
+ "de España y la segunda más poblada. Barcelona es "
19
+ "también una de las ciudades europeas más "
20
+ "cosmopolitas y todo un símbolo cultural, "
21
+ "financiero, comercial y turístico. Para muchos "
22
+ "Barcelona es la ciudad más atractiva de España y "
23
+ "una de las más bonitas." ),
24
+ ("Sevilla es la capital de Andalucía, y para muchos, "
25
+ "la ciudad más bonita de España. Pasear por sus calles, "
26
+ "contemplar la Giralda, la Catedral o la Torre del Oro "
27
+ "es una auténtica gozada. En primavera el olor a azahar "
28
+ "lo envuelve todo. Al igual que Granada, toda la ciudad "
29
+ "es una auténtica delicia. Su clima hace propensa la "
30
+ "visita en casi cualquier época del año." ),
31
+ ("The 5 French accents;"
32
+ "The cédille (cedilla) Ç ..."
33
+ "The accent aigu (acute accent) é ..."
34
+ "The accent circonflexe (circumflex) â, ê, î, ô, û ..."
35
+ "The accent grave (grave accent) à, è, ù ..."
36
+ "The accent tréma (dieresis/umlaut) ë, ï, ü" ),
37
+ )
38
+ expected = (
39
+ ['á' , 'é' , 'ñ' , 'ú' ],
40
+ ['á' , 'é' , 'í' , 'ñ' ],
41
+ ['á' , 'é' , 'í' , 'ñ' ],
42
+ ['à' , 'â' , 'ç' , 'è' , 'é' , 'ê' , 'ë' , 'î' , 'ï' , 'ô' , 'ù' , 'û' , 'ü' ],
43
+ )
44
+
45
+
46
+ @pytest .mark .parametrize ("text, expected" , zip (texts , expected ))
47
+ def test_filter_accents (text , expected ):
48
+ # get rid of duplicates and sort results
49
+ result = filter_accents (text )
50
+ actual = sorted (list (set (result )))
51
+ assert actual == expected
0 commit comments