Skip to content

Commit 178464a

Browse files
committed
#13-python
1 parent d4bd382 commit 178464a

File tree

1 file changed

+87
-0
lines changed

1 file changed

+87
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
#13 PRUEBAS UNITARIAS
2+
"""
3+
/*
4+
* EJERCICIO:
5+
* Crea una función que se encargue de sumar dos números y retornar
6+
* su resultado.
7+
* Crea un test, utilizando las herramientas de tu lenguaje, que sea
8+
* capaz de determinar si esa función se ejecuta correctamente.
9+
*
10+
* DIFICULTAD EXTRA (opcional):
11+
* Crea un diccionario con las siguientes claves y valores:
12+
* "nombre": "Tu nombre"
13+
* "edad": "Tu edad"
14+
* "fecha_de_nacimiento": "Tu fecha de nacimiento"
15+
* "lenguajes_de_programacion": ["Listado de lenguajes de programación"]
16+
* Crea dos test:
17+
* - Un primero que determine que existen todos los campos.
18+
* - Un segundo que determine que los datos introducidos son correctos.
19+
*/
20+
"""
21+
import unittest
22+
23+
24+
# Función que suma dos números y devuelve el resultado
25+
def suma_2(a: int, b: int) -> int:
26+
"""
27+
Suma dos números y devuelve el resultado.
28+
"""
29+
return a + b
30+
31+
# Clase de pruebas unitarias para la función suma_2
32+
class TestSuma(unittest.TestCase):
33+
34+
# Prueba para verificar la suma de números positivos
35+
def test_suma_positiva(self):
36+
"""
37+
Prueba la suma de números positivos.
38+
"""
39+
self.assertEqual(suma_2(5, 5), 10)
40+
41+
# Prueba para verificar la suma de números positivos y negativos
42+
def test_sume_negativa(self):
43+
"""
44+
Prueba la suma de un número positivo y otro negativo.
45+
"""
46+
self.assertEqual(suma_2(-1, -5), -6)
47+
48+
# Función que crea un diccionario con información personal
49+
def crear_diccionario(nombre, edad, fecha_nacimiento, lenguajes_de_programacion):
50+
"""
51+
Crea un diccionario con información personal.
52+
"""
53+
return {
54+
"nombre": nombre,
55+
"edad": edad,
56+
"fecha_de_nacimiento": fecha_nacimiento,
57+
"lenguajes_de_programacion": lenguajes_de_programacion
58+
}
59+
60+
# Clase de pruebas unitarias para la función crear_diccionario
61+
class TestDatosPersonales(unittest.TestCase):
62+
63+
# Prueba para verificar la existencia de todos los campos en el diccionario
64+
def test_existencia_campos(self):
65+
"""
66+
Prueba la existencia de todos los campos en el diccionario.
67+
"""
68+
datos = crear_diccionario("Santiago", 14, "2010-01-20", ["Python", "Arduino"])
69+
self.assertTrue("nombre" in datos)
70+
self.assertTrue("edad" in datos)
71+
self.assertTrue("fecha_de_nacimiento" in datos)
72+
self.assertTrue("lenguajes_de_programacion" in datos)
73+
74+
# Prueba para verificar los tipos de datos de los campos en el diccionario
75+
def test_campos_correctos(self):
76+
"""
77+
Prueba los tipos de datos de los campos en el diccionario.
78+
"""
79+
datos = crear_diccionario("Santiago", 14, "2009-03-26", ["Python", "Arduino"])
80+
self.assertIsInstance(datos["nombre"], str)
81+
self.assertIsInstance(datos["edad"], int)
82+
self.assertIsInstance(datos["fecha_de_nacimiento"], str)
83+
self.assertIsInstance(datos["lenguajes_de_programacion"], list)
84+
# Aquí podrías validar también los tipos de datos dentro de la lista de lenguajes de programación
85+
86+
if __name__ == '__main__':
87+
unittest.main()

0 commit comments

Comments
 (0)