示例#1
0
 def test_add_roman(self):
     nr1 = cromanos.RomanNumber(1)
     nr2 = cromanos.RomanNumber('XXIV')
     nr3 = nr1 + nr2
     self.assertEqual(nr1 + nr2, cromanos.RomanNumber(25))
     self.assertEqual(nr3.value, 25)
     self.assertTrue(isinstance(nr3, cromanos.RomanNumber))
示例#2
0
 def test_resta_roman(self):
     nr1 = cromanos.RomanNumber(25)
     nr2 = cromanos.RomanNumber('XV')
     nr3 = nr1 - nr2
     self.assertEqual(nr1 - nr2, cromanos.RomanNumber(10))
     self.assertEqual(nr3.value, 10)
     self.assertTrue(isinstance(nr3, cromanos.RomanNumber))
示例#3
0
 def test_divis(self):
     nr1 = cromanos.RomanNumber(3)
     nr2 = cromanos.RomanNumber('XXVII')
     nr3 = nr2 / nr1
     self.assertEqual(nr2 / nr1, cromanos.RomanNumber(9))
     self.assertEqual(nr3.value, 9)
     self.assertTrue(isinstance(nr3, cromanos.RomanNumber))
示例#4
0
 def test_multip(self):
     nr1 = cromanos.RomanNumber(3)
     nr2 = cromanos.RomanNumber('XXV')
     nr3 = nr1 * nr2
     self.assertEqual(nr1 * nr2, cromanos.RomanNumber(75))
     self.assertEqual(nr3.value, 75)
     self.assertTrue(isinstance(nr3, cromanos.RomanNumber))
示例#5
0
    def test_equal(self):
        nr1 = cromanos.RomanNumber(25)
        nr2 = cromanos.RomanNumber('XXV')
        self.assertEqual(nr1, nr2)

        self.assertEqual(nr1, 25)
        self.assertEqual(5, cromanos.RomanNumber('V'))
        self.assertEqual(cromanos.RomanNumber('MMM'), 3000)
示例#6
0
    def test_mult_integer(self):
        nr1 = cromanos.RomanNumber('XXV')
        nr2 = nr1 * 3
        self.assertEqual(nr1 * 3, cromanos.RomanNumber(75))
        self.assertEqual(nr2.value, 75)
        self.assertTrue(isinstance(nr2, cromanos.RomanNumber))

        nr3 = 4 * nr1
        self.assertEqual(nr1 * 4, cromanos.RomanNumber(100))
        self.assertEqual(nr3.value, 100)
        self.assertTrue(isinstance(nr3, cromanos.RomanNumber))
示例#7
0
 def test_add_integer(self):
     nr1 = cromanos.RomanNumber('XXIII')
     nr3 = nr1 + 1
     self.assertEqual(nr3.value, 24)
     self.assertTrue(isinstance(nr3, cromanos.RomanNumber))
     nr2 = 1 + nr1
     self.assertEqual(nr2.value, 24)
     self.assertTrue(nr2, cromanos.RomanNumber)
示例#8
0
    def test_sub_integer(self):  #Resta
        nr1 = cromanos.RomanNumber('XXIII')
        nr3 = nr1 - 1
        self.assertEqual(nr3.value, 22)
        self.assertTrue(isinstance(nr3, cromanos.RomanNumber))

        nr2 = 1 - nr1
        self.assertEqual(nr2.value, 22)
        self.assertTrue(isinstance(nr2, cromanos.RomanNumber))
示例#9
0
    def test_resta_integer(self):
        nr1 = cromanos.RomanNumber('XXV')
        nr3 = nr1 - 10
        self.assertEqual(nr3.value, 15)
        self.assertTrue(isinstance(nr3, cromanos.RomanNumber))

        nr2 = 35 - nr1
        self.assertEqual(
            nr2.value, 'Overflow'
        )  #no hay propiedad conmutativa en las restas (pasa por el __sub__)
        self.assertTrue(isinstance(nr2, cromanos.RomanNumber))
示例#10
0
    def test_crea_romano(self):
        nr = cromanos.RomanNumber(25) #primer numero romano
        self.assertEqual(nr.value,25)
        self.assertEqual(nr.rvalue,XXV)

        snr = cromanos.RomanNumber('XXIV') #segundo numero romano
        self.assertEqual(snr.value,24)
        self.assertEqual(snr.rvalue,'XXV')

        tnr = cromanos.RomanNumber('XXXX') #tercer numero romano
        self.assertEqual(tnr.value,'Error en formato')
        self.assertEqual(tnr.rvalue,'Error en formato')

        cnr = cromanos.RomanNumber(0)# cuarto numero romano
        self.assertEqual(cromanos.rvalue,'Overflow')
        self.assertEqual(cromanos.rvalue,'Overflow')

        qnr = cromanos.RomanNumber (4000) #quinto numero romano
        self.assertEqual(qnr.value,'Overflow')
        self.assertEqual(qnr.rvalue,'Overflow')
示例#11
0
    def test_crea_romano(self):
        nr = cromanos.RomanNumber(25)
        self.assertEqual(nr.value, 25)
        self.assertEqual(nr.rvalue, "XXV")

        snr = cromanos.RomanNumber("XXIV")
        self.assertEqual(snr.value, 24)
        self.assertEqual(snr.rvalue, "XXIV")

        tnr = cromanos.RomanNumber("XXXX")
        self.assertEqual(tnr.value, "Error en formato")
        self.assertEqual(tnr.rvalue, "Error en formato")

        cnr = cromanos.RomanNumber(0)
        self.assertEqual(cnr.value, "Overflow")
        self.assertEqual(cnr.rvalue, "Overflow")

        qnr = cromanos.RomanNumber(4000)
        self.assertEqual(qnr.value, "Overflow")
        self.assertEqual(qnr.value, "Overflow")
示例#12
0
    def test_crea_romano(self):
        nr = cromanos.RomanNumber(25)
        self.assertEqual(nr.value, 25)
        self.assertEqual(nr.rvalue, 'XXV')

        snr = cromanos.RomanNumber('XXIV')
        self.assertEqual(snr.value, 24)
        self.assertEqual(snr.rvalue, 'XXIV')

        tnr = cromanos.RomanNumber('XXXX')
        self.assertEqual(tnr.value, 'Error en formato')
        self.assertEqual(tnr.rvalue, 'Error en formato')

        cnr = cromanos.RomanNumber(0)
        self.assertEqual(cnr.value, 'Overflow')
        self.assertEqual(cnr.rvalue, 'Overflow')

        qnr = cromanos.RomanNumber(4000)
        self.assertEqual(qnr.value, 'Overflow')
        self.assertEqual(qnr.rvalue, 'Overflow')
示例#13
0
 def setUp(self):                #Instancia que nos permite prescindir de 'nr = cromanos.RomanNumber()' en el resto de instancias del test
     self.nr = cromanos.RomanNumber()
示例#14
0
 def setUp(self):
     self.nr = cromanos.RomanNumber()
示例#15
0
 def test_divis_integer(self):
     nr1 = cromanos.RomanNumber('XXVII')
     nr2 = nr1 / 3
     self.assertEqual(nr1 / 3, cromanos.RomanNumber(9))
     self.assertEqual(nr2.value, 9)
     self.assertTrue(isinstance(nr2, cromanos.RomanNumber))
示例#16
0
 def test_equal_romans(self):
     nr1 = cromanos.RomanNumber(25)
     nr2 = cromanos.RomanNumber('XXV')
     self.assertEqual(nr1, nr2)
示例#17
0
 def test_representation(self):
     nr = cromanos.RomanNumber(25)
     self.assertEqual(str(nr), 'XXV')