from unittest import TestCase from User import User from Viatge import Viatge steverogers = User("Steve Grant Rogers", "471", "Brooklyn", "*****@*****.**", "983") tipus_targeta1 = "VISA" tipus_targeta2 = "MasterCard" num_targeta = 123456 codi_seguretat = 13062091 v1 = Viatge(steverogers, 4, ["Paris", "Roma"]) v2 = Viatge(steverogers, 10, ["Moscu"]) v3 = Viatge(steverogers, 2, ["Tokyo"]) #Controla que, quan es paga el viatge, es reporta que l'acció s'ha dut a terme correctament class Test_Viatge_Pagament_Reserva(TestCase): def test_pagament(self): assert v1.pagar(tipus_targeta1, num_targeta, codi_seguretat) == True assert v2.pagar(tipus_targeta2, num_targeta, codi_seguretat) == True assert v3.pagar(tipus_targeta2, num_targeta, codi_seguretat) == True
from unittest import mock from User import User from Viatge import Viatge from unittest import TestCase u1 = User("Jofre Gomez Gonzalez", "123456789", "Algo", "*****@*****.**", "933123456") tipus_targeta = ["VISA", "IOs", "Microsoft"] num_targeta = [12345, 54321.62, "XXXXX"] codi_seguretat = [78365, 53420987.67, "FF"] v1 = Viatge(u1, 10, ["Barcelona", "Paris"]) v2 = Viatge(u1, 1, ["Madrid"]) v3 = Viatge(u1, 1, ["Barcelona", "Paris"]) class Test_Reintentar_PagamentViatge(TestCase): @mock.patch('Bank.Bank.do_payment') def test_Reintentar_PagamentViatge(self, mock_bank): #Abans de res, mencionar que si el pagament retorna false, qui s'encargara demostrar el missatge per #pantalla del error i on esta el error sera la interficie #Dades pagament valides + numero viatgers > 1 + numero destins > 1 + return funcio pagar de la classe Bank = True self.assertTrue( v1.pagar(tipus_targeta[0], num_targeta[0], codi_seguretat[0])) #Dades pagament valides + numero viatgers = 1 + numero destins = 1 + return funcio pagar de la classe Bank = True self.assertTrue( v2.pagar(tipus_targeta[0], num_targeta[0], codi_seguretat[0])) # Dades pagament valides + numero viatgers = 1 + numero destins > 1 + return funcio pagar de la classe Bank = True self.assertTrue(
from unittest import TestCase from Viatge import Viatge from User import User steverogers = User("Steve Grant Rogers", "471", "Brooklyn", "*****@*****.**", "983") v1 = Viatge(steverogers, 4, []) v2 = Viatge(steverogers, 10, []) v3 = Viatge(steverogers, 2, []) class Test_Viatge_Inicialitzacio(TestCase): #Controla que el número de viatgers sigui l'esperat al inicialitzar l'objecte def test_num_viatgers(self): assert v1.num_viatgers == 4 assert v2.num_viatgers == 10 assert v3.num_viatgers == 2 #Controla que la llista de destins está buida si el viatge no té destins def test_destins(self): assert v1.destins == [] assert v2.destins == [] assert v3.destins == [] #Controla que la llista de vols estigui buida si el viatge no té destins def test_vols(self): assert v1.vols == [] assert v2.vols == [] assert v3.vols == [] #Controla que el preu del viatge sigui 0 si el viatge no té destins
from unittest import TestCase from Viatge import Viatge from User import User steverogers=User("Steve Grant Rogers", "471","Brooklyn","*****@*****.**","983") v1=Viatge(steverogers,4,["Paris", "Roma"]) v2=Viatge(steverogers,10,["Moscu"]) v3=Viatge(steverogers,2,["Tokyo"]) v1.treure_desti("Roma") v2.treure_desti("Moscu") v3.treure_desti("Tokyo") class Test_Viatge_Treure_Destins(TestCase): #Controla que, quan es treuen destins, la llista de destins sigui la corresponent def test_treure_destins_destins(self): assert v1.destins==['Paris'] assert v2.destins==[] assert v3.destins==[] #Controla que, quan es treuen destins, la llista de vols es la esperada def test_treure_destins_vols(self): assert v2.vols==[] assert v3.vols==[] assert len(v1.vols)==1 assert v1.vols[0].destinacio=="Paris" #Controla que, quan es treuen destins, el preu sigui el corresponent def test_treure_destins_preu(self): assert v1.preu==140*v1.num_viatgers assert v2.preu==0
from unittest import TestCase from Viatge import Viatge from User import User steverogers = User("Steve Grant Rogers", "471", "Brooklyn", "*****@*****.**", "983") v1 = Viatge(steverogers, 4, []) v2 = Viatge(steverogers, 10, []) v3 = Viatge(steverogers, 2, []) v1.afegir_desti("Paris") v2.afegir_desti("Moscu") v3.afegir_desti("Tokyo") #Si se pasan los tests uno por uno, el resultado es bueno #Si los se ponen todos a la vez, falla y no sabemos porqué class Test_Viatge_Afegir_Destins(TestCase): #Controla que, al afegir destins, la llista de destins sigui la corresponent def test_afegir_destins_destins(self): assert v1.destins == ['Paris'] assert v2.destins == ['Moscu'] assert v3.destins == ['Tokyo'] v1.afegir_desti("Roma") assert v1.destins == ['Paris', 'Roma'] #Controla que, al afegir destins, la llista de vols sigui la corresponent def test_afegir_destins_vols(self): assert v1.vols[0].destinacio == "Paris" assert v2.vols[0].destinacio == "Moscu" assert v3.vols[0].destinacio == "Tokyo" v1.afegir_desti("Roma")
import unittest from unittest import mock import User as us from Viatge import Viatge u = us.User("Cliente De Ejemplo", "420", "City", "*****@*****.**", "2343") tipus_targeta = ["VISA", "InvaCard", "MasterCard"] num_targeta = [24352, 234254, 2456342, 975674] codi_seguretat = [23142, "34", 324342, 1324] v1 = Viatge(u, 2, ["Palma", "Reus", "New York", "Dublín"]) v2 = Viatge(u, 6, ["Madrid", "BCN"]) v3 = Viatge(u, 3, ["Madrid", "Palma"]) print(v1.pagar(tipus_targeta[0], num_targeta[0], codi_seguretat[0])) #bbb print(v2.pagar(tipus_targeta[1], num_targeta[2], codi_seguretat[3])) #bmb print(v3.pagar(tipus_targeta[2], num_targeta[3], codi_seguretat[1])) #bmb class test_Reintentar_PagamentCoche(unittest.TestCase): @mock.patch('Rentalcars.Rentalcars.confirm_reserve') def test_Reintentar_PagamentC(self, mock_Rentalcars): self.assertTrue(v1.confirma_reserva_coche()) self.assertFalse(v2.confirma_reserva_coche()) self.assertFalse(v3.confirma_reserva_coche()) mock_Rentalcars.return_value = False self.assertFalse(v1.confirma_reserva_coche()) self.assertFalse(v2.confirma_reserva_coche())
#!/usr/bin/env python # -*- coding: utf-8 -*- import unittest from unittest import TestCase from unittest import mock from User import User from Viatge import Viatge steverogers = User("Steve Grant Rogers", "471", "Brooklyn", "*****@*****.**", "983") tipus_targeta = ["VISA", "PacoCard", "MasterCard"] num_targeta = [24352, 234254, 2456342, 975674] codi_seguretat = [22452, 78365, 523467, 975674, 789080] v1 = Viatge(steverogers, 4, ["Paris", "Roma", "New York", "Buenos Aires", "Rio de Janeiro"]) v2 = Viatge(steverogers, 10, ["Moscu", "Atenas", "Milan", "Londres"]) v3 = Viatge(steverogers, 2, ["Tokyo"]) v4 = Viatge(steverogers, 4, ["Paris", "Roma", "New York", "Buenos Aires"]) v5 = Viatge(steverogers, 2, ["Paris", "Milan", "Roma"]) v6 = Viatge(steverogers, 1, ["Roma"]) v1.pagar(tipus_targeta[0], num_targeta[0], codi_seguretat[0]) v2.pagar(tipus_targeta[2], num_targeta[1], codi_seguretat[4]) v4.pagar(tipus_targeta[0], num_targeta[3], codi_seguretat[2]) v5.pagar(tipus_targeta[1], num_targeta[1], codi_seguretat[4]) v6.pagar(tipus_targeta[2], num_targeta[1], codi_seguretat[4]) class test_Reintentar_PagamentViatge(unittest.TestCase):
from unittest import TestCase from User import User from Viatge import Viatge steverogers=User("Steve Grant Rogers", "471","Brooklyn","*****@*****.**","983") tipus_targeta=["VISA","VISA","MasterCard"] num_targeta=[12345,54321,2456342] codi_seguretat=[78365,53420987,23452325] v1=Viatge(steverogers,4,["Paris", "Roma","New York", "Buenos Aires", "Rio de Janeiro"]) v2=Viatge(steverogers,10,["Moscu","Atenas","Milan","Londres"]) v3=Viatge(steverogers,2,["Tokyo"]) v4=Viatge(steverogers,4,["Paris", "Roma","New York", "Buenos Aires"]) v1.pagar("VISA",24352,22452) v2.pagar("MasterCard",234254,789080) v4.pagar("VISA", 975674,523467) #Per confirmar la reserva cal que el numero de destins sigui <=4 i #hagis pagat el viatge amb anterioritat #Controla que, quan hi ha un error a la reserva de vols, es reporti de l'acció class Test_Error_Reserva(TestCase): def test_error_reserva(self): assert v1.confirma_reserva()==False assert v2.confirma_reserva()==True assert v3.confirma_reserva()==False assert v4.confirma_reserva()==True
from unittest import TestCase from User import User from Viatge import Viatge steverogers=User("Steve Grant Rogers", "471","Brooklyn","*****@*****.**","983") v1=Viatge(steverogers,4,["Paris", "Roma"]) v2=Viatge(steverogers,10,["Moscu"]) v3=Viatge(steverogers,2,["Tokyo"]) v1.pagar("VISA",23542345,456234) v2.pagar("MasterCard",5677,2534) v3.pagar("VISA",5463987,9787) #Per confirmar reserva, cal pagar el viatge primer #Controla que, quan es confirma la reserva de vols, es reporti la confirmacio class Test_Viatge_Confirmar_Reserva(TestCase): def test_reserva(self): assert v1.confirma_reserva()==True assert v2.confirma_reserva()==True assert v3.confirma_reserva()==True