Skip to content

Commit 3468711

Browse files
#13 - pruebas unitarias
1 parent f785da8 commit 3468711

File tree

1 file changed

+90
-0
lines changed

1 file changed

+90
-0
lines changed
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
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

Comments
 (0)