1
+ import java .util .Arrays ;
2
+ import java .util .HashMap ;
3
+ import java .util .Map ;
4
+ import org .junit .jupiter .api .Test ;
5
+ import static org .junit .jupiter .api .Assertions .*;
6
+
7
+ /**
8
+ * Clase principal que contiene la función de suma y el diccionario de datos personales.
9
+ */
10
+ public class eulogioep {
11
+
12
+ /**
13
+ * Función que suma dos números y retorna el resultado.
14
+ * @param a Primer número a sumar.
15
+ * @param b Segundo número a sumar.
16
+ * @return La suma de a y b.
17
+ */
18
+ public static int suma (int a , int b ) {
19
+ return a + b ;
20
+ }
21
+
22
+ /**
23
+ * Crea y retorna un diccionario (Map en Java) con datos personales.
24
+ * @return Map con datos personales.
25
+ */
26
+ public static Map <String , Object > crearDiccionario () {
27
+ Map <String , Object > diccionario = new HashMap <>();
28
+ diccionario .put ("name" , "Tu nombre" );
29
+ diccionario .put ("age" , 30 );
30
+ diccionario .put ("birth_date" , "1993-01-01" );
31
+ diccionario .put ("programming_languages" , Arrays .asList ("Java" , "Python" , "JavaScript" ));
32
+ return diccionario ;
33
+ }
34
+
35
+ /**
36
+ * Clase interna para las pruebas unitarias.
37
+ */
38
+ public static class Tests {
39
+
40
+ @ Test
41
+ public void testSuma () {
42
+ assertEquals (5 , suma (2 , 3 ), "La suma de 2 y 3 debería ser 5" );
43
+ assertEquals (0 , suma (-1 , 1 ), "La suma de -1 y 1 debería ser 0" );
44
+ assertEquals (-5 , suma (-2 , -3 ), "La suma de -2 y -3 debería ser -5" );
45
+ }
46
+
47
+ @ Test
48
+ public void testExistenciaCamposDiccionario () {
49
+ Map <String , Object > diccionario = crearDiccionario ();
50
+ assertTrue (diccionario .containsKey ("name" ), "El diccionario debe contener la clave 'name'" );
51
+ assertTrue (diccionario .containsKey ("age" ), "El diccionario debe contener la clave 'age'" );
52
+ assertTrue (diccionario .containsKey ("birth_date" ), "El diccionario debe contener la clave 'birth_date'" );
53
+ assertTrue (diccionario .containsKey ("programming_languages" ), "El diccionario debe contener la clave 'programming_languages'" );
54
+ }
55
+
56
+ @ Test
57
+ public void testDatosCorrectosDiccionario () {
58
+ Map <String , Object > diccionario = crearDiccionario ();
59
+ assertEquals ("Tu nombre" , diccionario .get ("name" ), "El nombre debe ser 'Tu nombre'" );
60
+ assertTrue (diccionario .get ("age" ) instanceof Integer , "La edad debe ser un entero" );
61
+ assertTrue (((String ) diccionario .get ("birth_date" )).matches ("\\ d{4}-\\ d{2}-\\ d{2}" ), "La fecha de nacimiento debe tener el formato YYYY-MM-DD" );
62
+ assertTrue (diccionario .get ("programming_languages" ) instanceof java .util .List , "Los lenguajes de programación deben ser una lista" );
63
+ assertTrue (((java .util .List <?>) diccionario .get ("programming_languages" )).size () > 0 , "La lista de lenguajes de programación no debe estar vacía" );
64
+ }
65
+ }
66
+ }
0 commit comments