This repository has been archived by the owner on Jan 22, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy patharmada.py
115 lines (111 loc) · 7.35 KB
/
armada.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
from utils import decrypt_message, categorize_words, list_info
def test(n, f, tests, type_=None):
success = failed = 0
for inputs_, output_ in tests:
try:
if type_ == 'img':
assert sum(r+g+b+a for r,g,b,a in ImageChops.difference(f(*inputs_), Image.open(output_)).getdata()) < 10
else:
assert f(*inputs_) == output_
success += 1
except AssertionError:
failed += 1
print(f"TEST {n}: {success} exitosos y {failed} erróneos")
tests1 = [
(('InqfÉd.aa.Éa.É.ÑJaaHHÑaJÑdrJHHaÑíJ.tmaJaÉHíÑÑÉaÉHÑÑÉJhmfd.mHhdHÉ.qH.nJaHJJaJJaJÑÉHdkÑÉábsqÉÉhÉbnaaaHÉJJHaHaHÑÉÑbnm.íJHaÑíÑíHÉ.íHí24HÑú.aaÉÑíííJJHJJÉí.íÑÑííÑÑJ.H.ÑÑaLÑHÉíZHqHÉÉHéZJJdírí.aíÉJÑJííÉíÑ.HÑaHHbH.Éí.ÑZqchÉ.Ñí.ñkíí.íHHÉÑnHÉfZííJíaHJÉ.pHtÉ.Éíd.ÑJJÑÉJíJ.HÉJJHíÉJ..HíÉÑaJsíííÑhdHH..ÑÑímdJÉaaaaÑ3ÑÑH0aíÑaúaCÑ.ííZÉmhd.ÑkZ.HaJÑÉshdÉmí.dÉaHHÑJJí.JÑaHÑaJaÉa.í1..H.É4JÉHaÑíJ.íía.HÑHxJ.íÑíí.dHÉÉrJajhmÉdrhñ..kíHnHÉfZ.íú.aÑJÑ.JJÉJaaKtÉÉH.ÑhrJÉÉÑagÑZ...ÉJ.aJÉÑÑaJíí.aaÉíJíÑa.HÉbÉtÉ.ílíHokhHÉHcíí....HnÉíaí.HJa.ííÉHíH.ÑJÑíííHÑ08JÉíÑHíxJaÉíHadrÑíJHaÉHJÑ..tHÉH.HmJJÉaldÑbHÚ.mhíbínHú.JÑÑH.ÑÉíÑÑJHHaÑHJaJlÉhÉÉH.ÑHdmÑsHHíqÉÑÑÉ.HHZrJJJH.ÑaaHíÑÉÑÉÑJÑ..JptÉ.dJHÉE.H..íd.q.míZ.mícnJíHHÑ.JíÑÑJÉÑaaaÑaHA.íHíZÉH.qÑÉÑÑqdqÑZÑÑaaJÑJ.a.HJÑí.ÉÑaÉííÑ.aíaÑ.diíÑ.dqbÉdJaH.ÉíÉaaÉJcdJHÑííÑH.aJaÉÑaíHíaJ..íHíaíííbÉ.ííÑ.nbHhímdqnHÑJa.HHaJíJíÑaíxíHaaÉJíJHJsÉhíHdmíHd.aJHíaHíÉ1É3',),
'Jorge es un ingeniero eléctrico con 35, María es cardióloga que tiene 41 , Daniela tiene 25 y es kinesióloga, Luis ha cumplido 19 y es un mecánico, mientras que Fernando Barrera ejerce de cocinero y tiene 24'),
(('zzCZzzÍmhdkSúXSÍzÍllúSlXúlOzlÍOSúúzOOzlAXZqlqOdÍzqZSOSÍlúOÍlOSÍúúúXSúzlbnlOzmOÍúXlSSúlSÍXXlúSlOX1X2zSzlrdzXzXlOSlOOzlSúOOOXXzzOÍúSúXfqXZczózÍZSOXlÍSÍÍSSOúÍlllOzÍcÍdlÍOSSSlzSúXSSÍlXOzÍZzaXÍnÍXOfzzOzÍlOXlXXOzlÍZczXnl,zSOlzOSEdqzmzZzllmOcZXúSXzlzXÍúzXúXSúXúzOLáÍlzmcdyÍzlOÍXOOúzlzSOSsOqZlaZliZSúzXúlOOlÍSlúXzzÍúlclOÍdOXzSbglnelÍzdzqXXSXZOúlúSXúlúXúXXlÍúlXzXzllOÍÍOzOSXSOXXÍzÍrtrSúSlOúúXl2lzz0ÍO,lOlXSzXOSúÍúllXzXXÍzúIllOlÍtXZÍmúzSXSúlúXXSzKÍldOsOdÍÍOÍlkhOdzOXzqúuhÍXOÍlÍzOuzdSSúrhzdmclOzXzlOXÍnÍzÍúúOczOÍdrÍzZqzqXnXkOXzÍOXkÍzzZXcXXnXXqSOúOÍllúúxXúSSúshdXlmzdÍOÍzSzlú1OlXXlz.zOXzzOXX,',),
'Daniel Barrera con 23 se gradúa de abogado. Fernanda Méndez trabaja de chofer a sus 31. Juan Letelier vive siendo desarrollador y tiene 20.')
]
tests2 = [
(("Jorge es un ingeniero eléctrico con 35, María es cardióloga que tiene 41 , Daniela tiene 25 y es kinesióloga, Luis ha cumplido 19 y es un mecánico, mientras que Fernando Barrera ejerce de cocinero y tiene 24",),
[
('Jorge', 'PROPN'),
('es', 'AUX'),
('un', 'DET'),
('ingeniero', 'NOUN'),
('eléctrico', 'ADJ'),
('con', 'ADP'),
('35', 'NUM'),
(',', 'PUNCT'),
('María', 'PROPN'),
('es', 'AUX'),
('cardióloga', 'ADJ'),
('que', 'SCONJ'),
('tiene', 'VERB'),
('41', 'NUM'),
(',', 'PUNCT'),
('Daniela', 'PROPN'),
('tiene', 'VERB'),
('25', 'NUM'),
('y', 'CCONJ'),
('es', 'AUX'),
('kinesióloga', 'ADJ'),
(',', 'PUNCT'),
('Luis', 'PROPN'),
('ha', 'AUX'),
('cumplido', 'VERB'),
('19', 'NUM'),
('y', 'CCONJ'),
('es', 'AUX'),
('un', 'DET'),
('mecánico', 'NOUN'),
(',', 'PUNCT'),
('mientras', 'CCONJ'),
('que', 'SCONJ'),
('Fernando', 'PROPN'),
('Barrera', 'PROPN'),
('ejerce', 'VERB'),
('de', 'ADP'),
('cocinero', 'NOUN'),
('y', 'CCONJ'),
('tiene', 'VERB'),
('24', 'NUM')]),
(('Daniel Barrera con 23 se gradúa de abogado. Fernanda Méndez trabaja de chofer a sus 31. Juan Letelier vive siendo desarrollador y tiene 20.',),
[('Daniel', 'PROPN'),
('Barrera', 'PROPN'),
('con', 'ADP'),
('23', 'NUM'),
('se', 'PRON'),
('gradúa', 'VERB'),
('de', 'ADP'),
('abogado', 'NOUN'),
('.', 'PUNCT'),
('Fernanda', 'PROPN'),
('Méndez', 'PROPN'),
('trabaja', 'VERB'),
('de', 'ADP'),
('chofer', 'NOUN'),
('a', 'ADP'),
('sus', 'PRON'),
('31', 'NUM'),
('.', 'PUNCT'),
('Juan', 'PROPN'),
('Letelier', 'PROPN'),
('vive', 'VERB'),
('siendo', 'AUX'),
('desarrollador', 'NOUN'),
('y', 'CCONJ'),
('tiene', 'VERB'),
('20', 'NUM'),
('.', 'PUNCT')])
]
tests3 = [
(('InqfÉd.aa.Éa.É.ÑJaaHHÑaJÑdrJHHaÑíJ.tmaJaÉHíÑÑÉaÉHÑÑÉJhmfd.mHhdHÉ.qH.nJaHJJaJJaJÑÉHdkÑÉábsqÉÉhÉbnaaaHÉJJHaHaHÑÉÑbnm.íJHaÑíÑíHÉ.íHí24HÑú.aaÉÑíííJJHJJÉí.íÑÑííÑÑJ.H.ÑÑaLÑHÉíZHqHÉÉHéZJJdírí.aíÉJÑJííÉíÑ.HÑaHHbH.Éí.ÑZqchÉ.Ñí.ñkíí.íHHÉÑnHÉfZííJíaHJÉ.pHtÉ.Éíd.ÑJJÑÉJíJ.HÉJJHíÉJ..HíÉÑaJsíííÑhdHH..ÑÑímdJÉaaaaÑ3ÑÑH0aíÑaúaCÑ.ííZÉmhd.ÑkZ.HaJÑÉshdÉmí.dÉaHHÑJJí.JÑaHÑaJaÉa.í1..H.É4JÉHaÑíJ.íía.HÑHxJ.íÑíí.dHÉÉrJajhmÉdrhñ..kíHnHÉfZ.íú.aÑJÑ.JJÉJaaKtÉÉH.ÑhrJÉÉÑagÑZ...ÉJ.aJÉÑÑaJíí.aaÉíJíÑa.HÉbÉtÉ.ílíHokhHÉHcíí....HnÉíaí.HJa.ííÉHíH.ÑJÑíííHÑ08JÉíÑHíxJaÉíHadrÑíJHaÉHJÑ..tHÉH.HmJJÉaldÑbHÚ.mhíbínHú.JÑÑH.ÑÉíÑÑJHHaÑHJaJlÉhÉÉH.ÑHdmÑsHHíqÉÑÑÉ.HHZrJJJH.ÑaaHíÑÉÑÉÑJÑ..JptÉ.dJHÉE.H..íd.q.míZ.mícnJíHHÑ.JíÑÑJÉÑaaaÑaHA.íHíZÉH.qÑÉÑÑqdqÑZÑÑaaJÑJ.a.HJÑí.ÉÑaÉííÑ.aíaÑ.diíÑ.dqbÉdJaH.ÉíÉaaÉJcdJHÑííÑH.aJaÉÑaíHíaJ..íHíaíííbÉ.ííÑ.nbHhímdqnHÑJa.HHaJíJíÑaíxíHaaÉJíJHJsÉhíHdmíHd.aJHíaHíÉ1É3',),
{
'Jorge': {'profession': 'ingeniero eléctrico', 'age': '35'},
'María': {'profession': 'cardióloga', 'age': '41'},
'Daniela': {'profession': 'kinesióloga', 'age': '25'},
'Luis': {'profession': 'mecánico', 'age': '19'},
'Fernando Barrera': {'profession': 'cocinero', 'age': '24'}
}),
(('zzCZzzÍmhdkSúXSÍzÍllúSlXúlOzlÍOSúúzOOzlAXZqlqOdÍzqZSOSÍlúOÍlOSÍúúúXSúzlbnlOzmOÍúXlSSúlSÍXXlúSlOX1X2zSzlrdzXzXlOSlOOzlSúOOOXXzzOÍúSúXfqXZczózÍZSOXlÍSÍÍSSOúÍlllOzÍcÍdlÍOSSSlzSúXSSÍlXOzÍZzaXÍnÍXOfzzOzÍlOXlXXOzlÍZczXnl,zSOlzOSEdqzmzZzllmOcZXúSXzlzXÍúzXúXSúXúzOLáÍlzmcdyÍzlOÍXOOúzlzSOSsOqZlaZliZSúzXúlOOlÍSlúXzzÍúlclOÍdOXzSbglnelÍzdzqXXSXZOúlúSXúlúXúXXlÍúlXzXzllOÍÍOzOSXSOXXÍzÍrtrSúSlOúúXl2lzz0ÍO,lOlXSzXOSúÍúllXzXXÍzúIllOlÍtXZÍmúzSXSúlúXXSzKÍldOsOdÍÍOÍlkhOdzOXzqúuhÍXOÍlÍzOuzdSSúrhzdmclOzXzlOXÍnÍzÍúúOczOÍdrÍzZqzqXnXkOXzÍOXkÍzzZXcXXnXXqSOúOÍllúúxXúSSúshdXlmzdÍOÍzSzlú1OlXXlz.zOXzzOXX,',),
{
'Daniel Barrera': {'profession': 'abogado', 'age': '23'},
'Fernanda Méndez': {'profession': 'chofer', 'age': '31'},
'Juan Letelier': {'profession': 'desarrollador', 'age': '20'}
})
]
test(1, decrypt_message, tests1)
test(2, categorize_words, tests2)
test(3, list_info, tests3)