1
+ /*
2
+ * EJERCICIO:
3
+ * Crea una función que se encargue de sumar dos números y retornar
4
+ * su resultado.
5
+ * Crea un test, utilizando las herramientas de tu lenguaje, que sea
6
+ * capaz de determinar si esa función se ejecuta correctamente.
7
+ *
8
+ * DIFICULTAD EXTRA (opcional):
9
+ * Crea un diccionario con las siguientes claves y valores:
10
+ * "name": "Tu nombre"
11
+ * "age": "Tu edad"
12
+ * "birth_date": "Tu fecha de nacimiento"
13
+ * "programming_languages": ["Listado de lenguajes de programación"]
14
+ * Crea dos test:
15
+ * - Un primero que determine que existen todos los campos.
16
+ * - Un segundo que determine que los datos introducidos son correctos.
17
+ */
18
+
19
+ const sum = ( num1 , num2 ) => {
20
+ return num1 + num2 ;
21
+ }
22
+
23
+ const testSum = ( ) => {
24
+
25
+ const result1 = sum ( 1 , 4 ) ;
26
+ const expected1 = 5 ;
27
+
28
+ const result2 = sum ( - 3 , 4 ) ;
29
+ const expected2 = 1 ;
30
+
31
+ if ( result1 !== expected1 ) {
32
+ console . log ( 'Test fallado' ) ;
33
+ return ;
34
+ } else {
35
+ console . log ( '✅ Test 1 pasado' ) ;
36
+ }
37
+
38
+ if ( result2 !== expected2 ) {
39
+ console . log ( 'Test fallado' ) ;
40
+ } else {
41
+ console . log ( '✅ Test 2 pasado' ) ;
42
+ }
43
+ }
44
+
45
+ testSum ( ) ;
46
+
47
+ const persona = {
48
+ name : 'Ada Lovelace' ,
49
+ age : 208 ,
50
+ birth_date : '10/12/1815' ,
51
+ programming_languages : [ 'Ada' ]
52
+ }
53
+
54
+ const existenTodosLosCamposTest = ( ) => {
55
+
56
+ const campos = [ 'name' , 'age' , 'birth_date' , 'programming_languages' ] ;
57
+
58
+ campos . every ( campo => campo in persona ) ? console . log ( '✅ Test existenTodosLosCamposTest pasado' ) : console . log ( 'Test existenTodosLosCamposTest fallado' ) ;
59
+ }
60
+
61
+ const checkCamposSonCorrectosTest = ( ) => {
62
+
63
+ if ( typeof persona . name !== 'string' ) {
64
+ console . log ( 'Test checkCamposSonCorrectosTest fallado: el campo name debe ser una string' ) ;
65
+ return ;
66
+ }
67
+
68
+ if ( persona . age < 0 ) {
69
+ console . log ( 'Test checkCamposSonCorrectosTest fallado: el campo age no puede ser negativo' ) ;
70
+ return ;
71
+ }
72
+
73
+ const formatoFecha = / ^ \d { 2 } \/ \d { 2 } \/ \d { 4 } $ / ;
74
+ if ( ! formatoFecha . test ( persona . birth_date ) ) {
75
+ console . log ( 'Test checkCamposSonCorrectosTest fallado: el campo birth_date tiene un formato incorrecto' ) ;
76
+ return ;
77
+ }
78
+
79
+ const lenguajesDeProgramacionAceptados = [ 'Javascript' , 'Ada' , 'Python' , 'Java' ] ;
80
+
81
+ if ( persona . programming_languages . some ( lenguaje => ! lenguajesDeProgramacionAceptados . includes ( lenguaje ) ) ) {
82
+ console . log ( 'Test checkCamposSonCorrectosTest fallado: el lenguaje de programación no es aceptado' ) ;
83
+ return ;
84
+ }
85
+
86
+ console . log ( '✅ Test checkCamposSonCorrectosTest pasado' ) ;
87
+ }
88
+
89
+ existenTodosLosCamposTest ( ) ;
90
+ checkCamposSonCorrectosTest ( ) ;
0 commit comments