Skip to content

Commit eef57bc

Browse files
authored
Merge pull request #8052 from FabianRpv/main
#13 - JavaScript
2 parents d538b7c + 88c4bd7 commit eef57bc

File tree

3 files changed

+103
-0
lines changed

3 files changed

+103
-0
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// Pruebas Unitarias
2+
3+
// Una funcion Sumar en un archivo math.js
4+
5+
function sumar(a, b) {
6+
return a + b;
7+
}
8+
9+
module.exports = sumar;
10+
11+
12+
// La prueba unitaria de dicha funcion se hara en un archivo separado llamado math.test.js
13+
14+
const sumar = require('./math');
15+
16+
test('sumar 1 + 2 debe ser igual a 3', () => {
17+
expect(sumar(1, 2)).toBe(3);
18+
});
19+
20+
test('sumar -1 + 1 debe ser igual a 0', () => {
21+
expect(sumar(-1, 1)).toBe(0);
22+
});
23+
24+
// Para ejecutar la prueba en Jest se utiliza el comando npx jest
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
// Fechas
2+
3+
const fechaFormat = (fecha) => {
4+
5+
format = fecha.toLocaleString()
6+
return format
7+
8+
}
9+
10+
// Fecha Actual
11+
12+
const fechaActual = new Date()
13+
console.log(fechaActual)
14+
15+
const fechaActualFormat = fechaFormat(fechaActual)
16+
console.log(fechaActualFormat)
17+
18+
19+
const year = fechaActual.getFullYear();
20+
const month = String(fechaActual.getMonth() + 1).padStart(2, '0');
21+
const day = String(fechaActual.getDate()).padStart(2, '0');
22+
const hour = String(fechaActual.getHours()).padStart(2, '0');
23+
const minute = String(fechaActual.getMinutes()).padStart(2, '0');
24+
const second = String(fechaActual.getSeconds()).padStart(2, '0');
25+
26+
console.log(`${day}-${month}-${year} ${hour}:${minute}:${second}`)
27+
28+
29+
// Fecha Nacimiento
30+
31+
const fechaNacimiento = new Date(2004, 10, 10, 15, 20)
32+
33+
const fechaNacimientoFormat = fechaFormat(fechaNacimiento)
34+
35+
console.log(fechaNacimientoFormat)
36+
37+
38+
// Diferencia entre fechas
39+
40+
const diferencia = fechaActual - fechaNacimiento;
41+
const diferenciaDias = Math.round(diferencia / (3.154e+10))
42+
43+
console.log(diferenciaDias)
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// Asincronia
2+
3+
4+
5+
/**
6+
* Función asíncrona que simula una tarea que tarda un tiempo en completarse.
7+
* @param {string} nombre - El nombre de la tarea.
8+
* @param {number} segundos - El número de segundos que durará la tarea.
9+
*/
10+
async function ejecutarTarea(nombre, segundos) {
11+
const inicio = new Date();
12+
console.log(`[${inicio.toLocaleTimeString()}] Tarea "${nombre}" iniciada. Duración: ${segundos} segundos.`);
13+
14+
// Simulamos la tarea asíncrona con un setTimeout dentro de una promesa
15+
await new Promise((resolve) => {
16+
setTimeout(resolve, segundos * 1000);
17+
});
18+
19+
const fin = new Date();
20+
console.log(`[${fin.toLocaleTimeString()}] Tarea "${nombre}" finalizada.`);
21+
}
22+
23+
/**
24+
* Función principal para ejecutar tareas asíncronas.
25+
*/
26+
async function main() {
27+
// Ejecutamos varias tareas asíncronas
28+
await ejecutarTarea("Tarea 1", 3); // Tarea 1 dura 3 segundos
29+
await ejecutarTarea("Tarea 2", 5); // Tarea 2 dura 5 segundos
30+
await ejecutarTarea("Tarea 3", 2); // Tarea 3 dura 2 segundos
31+
32+
console.log("Todas las tareas han finalizado.");
33+
}
34+
35+
// Llamamos a la función principal
36+
main();

0 commit comments

Comments
 (0)