Skip to content

Commit 32c6f8a

Browse files
authored
Merge pull request mouredev#4705 from jptxaya/main
#13 - Python
2 parents 14495d5 + 28ecf4d commit 32c6f8a

File tree

1 file changed

+69
-0
lines changed

1 file changed

+69
-0
lines changed
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# #13 PRUEBAS UNITARIAS
2+
## Ejercicio
3+
4+
5+
""" /*
6+
* EJERCICIO:
7+
* Crea una función que se encargue de sumar dos números y retornar
8+
* su resultado.
9+
* Crea un test, utilizando las herramientas de tu lenguaje, que sea
10+
* capaz de determinar si esa función se ejecuta correctamente.
11+
*
12+
* DIFICULTAD EXTRA (opcional):
13+
* Crea un diccionario con las siguientes claves y valores:
14+
* "name": "Tu nombre"
15+
* "age": "Tu edad"
16+
* "birth_date": "Tu fecha de nacimiento"
17+
* "programming_languages": ["Listado de lenguajes de programación"]
18+
* Crea dos test:
19+
* - Un primero que determine que existen todos los campos.
20+
* - Un segundo que determine que los datos introducidos son correctos.
21+
*/ """
22+
23+
24+
from datetime import datetime
25+
import unittest
26+
27+
def suma(num1, num2):
28+
if not num1 or not num2:
29+
raise ValueError("Los valores deben de tener valor")
30+
elif not isinstance(num1,(int,float)) or not isinstance(num2,(int,float)):
31+
raise ValueError("Los valores deben de ser enteros o float")
32+
return num1 + num2
33+
34+
class Suma(unittest.TestCase):
35+
def test_suma(self):
36+
self.assertEqual(suma(5,2),7)
37+
self.assertEqual(suma(3,2.5),5.5)
38+
39+
def test_inst_suma(self):
40+
with self.assertRaises(ValueError):
41+
suma(7,"d")
42+
with self.assertRaises(ValueError):
43+
suma("a", 7)
44+
45+
46+
#Dificultad Extra
47+
class TestExtra(unittest.TestCase):
48+
49+
def setUp(self):
50+
self.my_dict = {"name": "jptxaya","age":45,"birth_date":datetime(1975,4,3),"programming_languages":["react","python","java"]}
51+
52+
def test_all_keys(self):
53+
dic_keys = ["name","age","birth_date","programming_languages"]
54+
for dic_key in dic_keys:
55+
self.assertIn(dic_key, self.my_dict.keys(),"La clave {dic_key} no esta en el diccionario")
56+
57+
def test_correct_values(self):
58+
self.assertIsInstance(self.my_dict.get("name"),str,"Tipo de dato no valido")
59+
self.assertIsInstance(self.my_dict.get("age"),int,"Tipo de dato no valido")
60+
self.assertIsInstance(self.my_dict.get("birth_date"),datetime,"Tipo de dato no valido")
61+
self.assertIsInstance(self.my_dict.get("programming_languages"),list,"Tipo de dato no valido")
62+
for language in self.my_dict.get("programming_languages"):
63+
self.assertIsInstance(language,str,"Tipo de dato no valido")
64+
65+
66+
if __name__ == '__main__':
67+
unittest.main(verbosity=3)
68+
69+

0 commit comments

Comments
 (0)