Skip to content

Commit 3432fe6

Browse files
committed
#13 - Python
1 parent 4606ee3 commit 3432fe6

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+
# #13 PRUEBAS UNITARIAS
2+
3+
4+
"""
5+
* EJERCICIO:
6+
* Crea una función que se encargue de sumar dos números y retornar
7+
* su resultado.
8+
* Crea un test, utilizando las herramientas de tu lenguaje, que sea
9+
* capaz de determinar si esa función se ejecuta correctamente.
10+
"""
11+
12+
import unittest
13+
14+
def sum(number1,number2):
15+
if not isinstance(number1, (int)) or not isinstance(number2, (int)):
16+
raise ValueError("Error en la entrada de datos")
17+
return number1 + number2
18+
19+
20+
class TestSum(unittest.TestCase):
21+
def test_sum(self):
22+
self.assertEqual(sum(5,4),9)
23+
self.assertEqual(sum(5,-2),3)
24+
self.assertEqual(sum(5,7),12)
25+
self.assertEqual(sum(1,2),3)
26+
27+
def test_raises(self):
28+
with self.assertRaises(ValueError):
29+
sum("1", 8)
30+
with self.assertRaises(ValueError):
31+
sum(2, "b")
32+
with self.assertRaises(ValueError):
33+
sum("a", "b")
34+
35+
36+
37+
38+
39+
"""
40+
* DIFICULTAD EXTRA (opcional):
41+
* Crea un diccionario con las siguientes claves y valores:
42+
* "name": "Tu nombre"
43+
* "age": "Tu edad"
44+
* "birth_date": "Tu fecha de nacimiento"
45+
* "programming_languages": ["Listado de lenguajes de programación"]
46+
* Crea dos test:
47+
* - Un primero que determine que existen todos los campos.
48+
* - Un segundo que determine que los datos introducidos son correctos.
49+
50+
"""
51+
class Person():
52+
def __init__(self,name,age,birthday,languages) -> None:
53+
self.name = name
54+
self.age = age
55+
self.birthday = birthday
56+
self.languages = languages
57+
58+
def dictionary(persona):
59+
60+
person = {"name":"Fede","age":persona.age,"birth_day":persona.birthday,"program_languages":persona.languages}
61+
return person
62+
63+
person1 = Person("Fede",43,"25/6/80",[])
64+
65+
test_person = dictionary(person1)
66+
67+
print (test_person)
68+
69+
70+
class TestDictionaryPerson(unittest.TestCase):
71+
72+
def setUp(self) -> None:
73+
self.data = test_person
74+
75+
76+
def test_empty(self):
77+
self.assertIn("name", test_person)
78+
self.assertIn("age", test_person)
79+
self.assertIn("birth_day", test_person)
80+
self.assertIn("program_languages", test_person)
81+
82+
def test_data_is_correct(self):
83+
self.assertIsInstance(self.data["name"], str)
84+
self.assertIsInstance(self.data["age"], int)
85+
self.assertIsInstance(self.data["birth_day"],str)
86+
self.assertIsInstance(self.data["program_languages"], list)
87+
88+
89+
unittest.main(verbosity=3)
90+

0 commit comments

Comments
 (0)