-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtests.py
71 lines (50 loc) · 1.83 KB
/
tests.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import unittest
from romanos import RomanNumber
class RomanNumberTest(unittest.TestCase):
def test_crear_numero_romano(self):
uno_numero = RomanNumber(1)
self.assertEqual(uno_numero.valor,1)
self.assertEqual(uno_numero.cadena,"I")
uno_cadena = RomanNumber('I')
self.assertEqual(uno_cadena.valor,1)
self.assertEqual(uno_cadena.cadena,'I')
self.assertRaises(ValueError,RomanNumber,4000)
self.assertRaises(ValueError,RomanNumber,0)
def test_representacion_de_cadena(self):
tres = RomanNumber(3)
self.assertEqual(str(tres),"III")
def test_comparaciones(self):
uno = RomanNumber(1)
otro_uno =RomanNumber(1)
dos = RomanNumber(2)
self.assertEqual(uno,1)
self.assertEqual(uno,'I')
self.assertEqual(uno,otro_uno)
self.assertNotEqual(uno,dos)
self.assertNotEqual(uno,'II')
def test_suma(self):
uno = RomanNumber(1)
dos = RomanNumber(2)
self.assertEqual(uno+dos,3)
self.assertEqual(uno +3,4)
self.assertEqual(dos+"VI",8)
self.assertEqual(3+uno,4)
self.assertEqual("VI"+dos,8)
def test_resta(self):
uno = RomanNumber(1)
dos = RomanNumber(2)
self.assertEqual(dos - uno, 1)
self.assertEqual(dos - 1, 1)
self.assertEqual(dos - "I",1)
self.assertEqual(4 - dos,2)
self.assertEqual("IV" - uno, 3)
def test_multiplicacion(self):
dos = RomanNumber(2)
tres = RomanNumber(3)
self.assertEqual(dos * dos, 4)
self.assertEqual(dos * 3, 6)
self.assertEqual(dos * 'II',4)
def test_no_admitir_caracteres_extraños(self):
self.assertRaises(ValueError,RomanNumber,"hola")
if __name__ == "__main__":
unittest.main()