Skip to content

Commit 928e11d

Browse files
committed
Corrección Roadmap 13 + Nuevo ejercicio 14
1 parent c1bba81 commit 928e11d

File tree

3 files changed

+99
-3
lines changed

3 files changed

+99
-3
lines changed

README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@
2727
2828
## Corrección y próximo ejercicio
2929

30-
> #### Lunes 1 de Abril de 2024 a las 20:00 (hora España) desde **[Twitch](https://twitch.tv/mouredev)**
31-
> #### Consulta el **[horario](https://discord.gg/xPGzfzbW?event=1219372916257456229)** por país y crea un **[recordatorio](https://discord.gg/xPGzfzbW?event=1219372916257456229)**
30+
> #### Lunes 8 de Abril de 2024 a las 20:00 (hora España) desde **[Twitch](https://twitch.tv/mouredev)**
31+
> #### Consulta el **[horario](https://discord.gg/ghQ7qmks?event=1221927033932611645)** por país y crea un **[recordatorio](https://discord.gg/xPGzfzbW?event=1219372916257456229)**
3232
3333
## Roadmap
3434

@@ -47,7 +47,8 @@
4747
|10|[EXCEPCIONES](./Roadmap/10%20-%20EXCEPCIONES/ejercicio.md)|[📝](./Roadmap/10%20-%20EXCEPCIONES/python/mouredev.py)|[▶️](https://youtu.be/mfOzfj-BrQo)|[👥](./Roadmap/10%20-%20EXCEPCIONES/)
4848
|11|[MANEJO DE FICHEROS](./Roadmap/11%20-%20MANEJO%20DE%20FICHEROS/ejercicio.md)|[📝](./Roadmap/11%20-%20MANEJO%20DE%20FICHEROS/python/mouredev.py)|[▶️](https://youtu.be/Bsiay2nax4Y)|[👥](./Roadmap/11%20-%20MANEJO%20DE%20FICHEROS/)
4949
|12|[JSON Y XML](./Roadmap/12%20-%20JSON%20Y%20XML/ejercicio.md)|[📝](./Roadmap/12%20-%20JSON%20Y%20XML/python/mouredev.py)|[▶️](https://youtu.be/OwStihBItEg)|[👥](./Roadmap/12%20-%20JSON%20Y%20XML/)
50-
|13|[PRUEBAS UNITARIAS](./Roadmap/13%20-%20PRUEBAS%20UNITARIAS/ejercicio.md)|[🗓️ 01/04/24](https://discord.gg/xPGzfzbW?event=1219372916257456229)||[👥](./Roadmap/13%20-%20PRUEBAS%20UNITARIAS/)
50+
|13|[PRUEBAS UNITARIAS](./Roadmap/13%20-%20PRUEBAS%20UNITARIAS/ejercicio.md)|[📝](./Roadmap/13%20-%20PRUEBAS%20UNITARIAS/python/mouredev.py)||[👥](./Roadmap/13%20-%20PRUEBAS%20UNITARIAS/)
51+
|14|[FECHAS](./Roadmap/14%20-%20FECHAS/ejercicio.md)|[🗓️ 08/04/24](https://discord.gg/ghQ7qmks?event=1221927033932611645)||[👥](./Roadmap/14%20-%20FECHAS/)
5152

5253
## Instrucciones
5354

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
import unittest
2+
from datetime import datetime, date
3+
4+
"""
5+
Ejercicio
6+
"""
7+
8+
9+
def sum(a, b):
10+
if not isinstance(a, (int, float)) or not isinstance(b, (int, float)):
11+
raise ValueError("Los argumentos deben ser enteros o decimales.")
12+
return a + b
13+
14+
15+
class TestSum(unittest.TestCase):
16+
17+
def test_sum(self):
18+
self.assertEqual(sum(5, 7), 12)
19+
self.assertEqual(sum(5, -7), -2)
20+
self.assertEqual(sum(0, 0), 0)
21+
self.assertEqual(sum(2.5, 2.1), 4.6)
22+
self.assertEqual(sum(2, 2.1), 4.1)
23+
self.assertEqual(sum(2.5, 2.5), 5)
24+
25+
def test_sum_type(self):
26+
with self.assertRaises(ValueError):
27+
sum("5", 7)
28+
with self.assertRaises(ValueError):
29+
sum(5, "7")
30+
with self.assertRaises(ValueError):
31+
sum("5", "7")
32+
with self.assertRaises(ValueError):
33+
sum("a", 7)
34+
with self.assertRaises(ValueError):
35+
sum(None, 7)
36+
37+
38+
"""
39+
Extra
40+
"""
41+
42+
43+
class TestData(unittest.TestCase):
44+
45+
def setUp(self) -> None:
46+
self.data = {
47+
"name": "Brais Moure",
48+
"age": 36,
49+
"birth_date": datetime.strptime("29-04-87", "%d-%m-%y").date(),
50+
"programming_languages": ["Python", "Kotlin", "Swift"]
51+
}
52+
53+
def test_fields_exist(self):
54+
self.assertIn("name", self.data)
55+
self.assertIn("age", self.data)
56+
self.assertIn("birth_date", self.data)
57+
self.assertIn("programming_languages", self.data)
58+
59+
def test_data_is_correct(self):
60+
self.assertIsInstance(self.data["name"], str)
61+
self.assertIsInstance(self.data["age"], int)
62+
self.assertIsInstance(self.data["birth_date"], date)
63+
self.assertIsInstance(self.data["programming_languages"], list)
64+
65+
66+
unittest.main()

Roadmap/14 - FECHAS/ejercicio.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# #14 FECHAS
2+
> #### Dificultad: Fácil | Publicación: 01/04/24 | Corrección: 08/04/24
3+
4+
## Ejercicio
5+
6+
```
7+
/*
8+
* EJERCICIO:
9+
* Crea dos variables utilizando los objetos fecha (date, o semejante) de tu lenguaje:
10+
* - Una primera que represente la fecha (día, mes, año, hora, minuto, segundo) actual.
11+
* - Una segunda que represente tu fecha de nacimiento (te puedes inventar la hora).
12+
* Calcula cuántos años han transcurrido entre ambas fechas.
13+
*
14+
* DIFICULTAD EXTRA (opcional):
15+
* Utilizando la fecha de tu cumpleaños, formatéala y muestra su resultado de
16+
* 10 maneras diferentes. Por ejemplo:
17+
* - Día, mes y año.
18+
* - Hora, minuto y segundo.
19+
* - Día de año.
20+
* - Día de la semana.
21+
* - Nombre del mes.
22+
* (lo que se te ocurra...)
23+
*/
24+
```
25+
#### Tienes toda la información extendida sobre el roadmap de retos de programación en **[retosdeprogramacion.com/roadmap](https://retosdeprogramacion.com/roadmap)**.
26+
27+
Sigue las **[instrucciones](../../README.md)**, consulta las correcciones y aporta la tuya propia utilizando el lenguaje de programación que quieras.
28+
29+
> Recuerda que cada semana se publica un nuevo ejercicio y se corrige el de la semana anterior en directo desde **[Twitch](https://twitch.tv/mouredev)**. Tienes el horario en la sección "eventos" del servidor de **[Discord](https://discord.gg/mouredev)**.

0 commit comments

Comments
 (0)