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