def setUp(self):
     self.db = DBCon()
     self.persona_dao = PersonaDao(self.db)
     self.actDao = ActividadDao(self.db)
     self.tipodao = TipoActividadDao(self.db)
     self.cajero = Cajero()
     self.mejora = CajeroMejorado()
 def registrar_actividad(self):
     resultado = True
     try:
         mensaje = self.usar_cajero()
     except Exception as e:
         resultado = False
         mensaje = str(e)
     personaDAO = PersonaDao(self.db)
     act_descripcion = self.datos_actividad[0]
     act_actividad = self.datos_actividad[1]
     a = Actividad(resultado, mensaje, act_descripcion, act_actividad)
     per_dni = self.datos_persona[0]
     per_nombre = self.datos_persona[1]
     per_apellido = self.datos_persona[2]
     per_empleado = self.datos_persona[3]
     per = Persona(per_dni, per_nombre, per_apellido, per_empleado)
     per.actividades.append(a)
     personaDAO.guardar(per)
     self.db.session.close()
from DB import DBConexion, Persona, Actividad, Tipo_Actividad, PersonaDao
from DB import ActividadDao, Tipo_ActividadDao
from billete import Billete100, Billete200, Billete500, Billete1000
from cajero import Cajero

if __name__ == "__main__":

    print("Conectandose a la base de datos")
    print("Creando la estructura de las tablas")
    print("Creando la sesion de acceso a la base de datos")
    db = DBConexion()

    print("Creando DAO")
    persona_DAO = PersonaDao(db)
    actividad_DAO = ActividadDao(db)
    tipo_DAO = Tipo_ActividadDao(db)

    pers1 = Persona("Franco", "Santander", "Cliente")
    pers2 = Persona("Daniel", "Quinteros", "Cliente")

    persona_DAO.guardar(pers1)
    persona_DAO.guardar(pers2)

    cargar_dinero = Tipo_Actividad("Deposito", "Ingresar dinero")
    extraer_dinero = Tipo_Actividad("Extraccion", "Extraer dinero")
    tipo_DAO.guardar(cargar_dinero)
    tipo_DAO.guardar(extraer_dinero)

    cajero1 = Cajero()
    cajero2 = Cajero()
Пример #4
0
class Tablas():
    def __init__(self, nombre, apellido, tipo, mensaje, codigo, tipo_act,
                 dinero):

        self.db = DBCon()
        # Persona:
        self.nombre = nombre
        self.apellido = apellido
        self.tipo = tipo

        # Actividad:
        self.mensaje = mensaje
        self.codigo = codigo
        # Tipo_actividad:
        self.tipo_actividad = tipo_act
        # Dinero:
        self.dinero = dinero
        # Tipos:
        self.persona = ''
        self.generar_tipos()

    def generar_tipos(self):

        tipo = TipoActividadDao(self.db)

        if len(tipo.buscarTodos()) == 0:

            self.t1 = TipoActividad("Deposito", "Ingreso de dinero al banco")
            self.t2 = TipoActividad("Extracción", "Se extrae dinero del banco")
            self.t3 = TipoActividad("Extracción con cambio",
                                    "Se extrae dinero con cambio del banco")

            tipo.guardar(self.t1)
            tipo.guardar(self.t2)
            tipo.guardar(self.t3)
        self.generar_personas()

    def generar_personas(self):
        self.persona_dao = PersonaDao(self.db)
        self.persona = Persona(self.nombre, self.apellido, self.tipo)
        self.banco()

    def banco(self):

        self.deposito1 = [
            Billete_1000(),
            Billete_1000(),
            Billete_1000(),
            Billete_500(),
            Billete_500(),
            Billete_500(),
            Billete_200(),
            Billete_200(),
            Billete_200(),
            Billete_100(),
            Billete_100()
        ]
        self.cajero = Cajero()
        self.mejora = CajeroMejorado()

        if self.tipo_actividad == "t1":
            self.cajero.carga(self.dinero)
            self.resultado = "Se ha depositado $" + str(
                self.cajero.conteo()[-1])

        elif self.tipo_actividad == "t2":
            self.cajero.carga(self.deposito1)
            self.cajero.conteo()
            self.resultado = self.cajero.extraer(self.dinero[0])[-1]

        elif self.tipo_actividad == "t3":
            self.mejora.carga(self.deposito1)
            self.mejora.conteo()
            self.resultado = self.mejora.extraer_dinero_cambio(
                self.dinero[0], self.dinero[1])[-1]

        self.generar_actividades()

    def generar_actividades(self):
        actividadDao = ActividadDao(self.db)
        tipodao = TipoActividadDao(self.db)
        if self.tipo_actividad == "t1":

            actividades = Actividad(self.mensaje, self.codigo, self.resultado)
            tipo1 = tipodao.buscarPorID(1)

        if self.tipo_actividad == "t2":
            actividades = Actividad(self.mensaje, self.codigo, self.resultado)
            tipo1 = tipodao.buscarPorID(2)

        if self.tipo_actividad == "t3":
            actividades = Actividad(self.mensaje, self.codigo, self.resultado)
            tipo1 = tipodao.buscarPorID(3)

        actividades.tipo_actividad = tipo1.id
        actividadDao.guardar(actividades)

        (self.persona).lista_actividades.append(actividades)
        self.persona_dao.guardar(self.persona)
Пример #5
0
 def generar_personas(self):
     self.persona_dao = PersonaDao(self.db)
     self.persona = Persona(self.nombre, self.apellido, self.tipo)
     self.banco()
class TestTablas(unittest.TestCase):

    def setUp(self):
        self.db = DBCon()
        self.persona_dao = PersonaDao(self.db)
        self.actDao = ActividadDao(self.db)
        self.tipodao = TipoActividadDao(self.db)
        self.cajero = Cajero()
        self.mejora = CajeroMejorado()

    def test_deposito_2000(self):

        tablas = Tablas("Juan", "Gomez", "Empleado", "Informacion",
                        "Exitoso", "t1",
                        [Billete_1000(), Billete_1000()])

        tabla_p = self.persona_dao.buscarPorID(0)
        self.assertEqual(tabla_p.nombre, "Juan")
        self.assertEqual(tabla_p.apellido, "Gomez")
        self.assertEqual(tabla_p.tipo, "Empleado")

        tabla_a = self.actDao.buscarTodos()[0]

        self.assertEqual(tabla_a.mensaje, "Informacion")
        self.assertEqual(tabla_a.codigo_resultado, "Exitoso")
        self.assertEqual(tabla_a.descripcion_actividad, "Se ha depositado $2000")

        tabla_t = self.tipodao.buscarTodos()[1-1]       # Por t1 (fila i=0)
        self.assertEqual(tabla_t.descripcion, "Ingreso de dinero al banco")
        self.persona_dao.borrar(tabla_p)
        self.cajero.vaciado()

    def test_deposito_3500(self):

        tablas = Tablas("Juan", "Cruz", "Gerente", "Informacion",
                        "Exitoso", "t1",
                        [Billete_1000(), Billete_1000(), Billete_200(),
                         Billete_200(), Billete_1000(), Billete_100()])

        tabla_p = self.persona_dao.buscarPorID(0)
        self.assertEqual(tabla_p.nombre, "Juan")
        self.assertEqual(tabla_p.apellido, "Cruz")
        self.assertEqual(tabla_p.tipo, "Gerente")

        tabla_a = self.actDao.buscarTodos()[0]

        self.assertEqual(tabla_a.mensaje, "Informacion")
        self.assertEqual(tabla_a.codigo_resultado, "Exitoso")
        self.assertEqual(tabla_a.descripcion_actividad, "Se ha depositado $3500")

        tabla_t = self.tipodao.buscarTodos()[1-1]       # Por t1 (fila i=0)
        self.assertEqual(tabla_t.descripcion, "Ingreso de dinero al banco")
        self.persona_dao.borrar(tabla_p)
        self.cajero.vaciado()

    def test_extraccion_500(self):

        tablas = Tablas("Raul", "Fuentes", "Cliente", "Informacion",
                        "Exitoso", "t2",
                        [500, 0])

        tabla_p = self.persona_dao.buscarPorID(0)
        self.assertEqual(tabla_p.nombre, "Raul")
        self.assertEqual(tabla_p.apellido, "Fuentes")
        self.assertEqual(tabla_p.tipo, "Cliente")

        tabla_a = self.actDao.buscarTodos()[0]

        self.assertEqual(tabla_a.mensaje, "Informacion")
        self.assertEqual(tabla_a.codigo_resultado, "Exitoso")
        self.assertEqual(tabla_a.descripcion_actividad,
                         "Se extrajo sin cambio $500")

        tabla_t = self.tipodao.buscarTodos()[2-1]       # Por t2 (fila i=1)
        self.assertEqual(tabla_t.descripcion,
                         "Se extrae dinero del banco")
        self.persona_dao.borrar(tabla_p)
        self.mejora.vaciado()

    def test_extraccion_3300(self):

        tablas = Tablas("Javi", "Cercasi", "Cliente", "Informacion",
                        "Exitoso", "t2",
                        [3300, 0])

        tabla_p = self.persona_dao.buscarPorID(0)
        self.assertEqual(tabla_p.nombre, "Javi")
        self.assertEqual(tabla_p.apellido, "Cercasi")
        self.assertEqual(tabla_p.tipo, "Cliente")

        tabla_a = self.actDao.buscarTodos()[0]

        self.assertEqual(tabla_a.mensaje, "Informacion")
        self.assertEqual(tabla_a.codigo_resultado, "Exitoso")
        self.assertEqual(tabla_a.descripcion_actividad,
                         "Se extrajo sin cambio $3300")

        tabla_t = self.tipodao.buscarTodos()[2-1]       # Por t2 (fila i=1)
        self.assertEqual(tabla_t.descripcion,
                         "Se extrae dinero del banco")
        self.persona_dao.borrar(tabla_p)
        self.mejora.vaciado()

    def test_extraccion_con_cambio(self):

        tablas = Tablas("Rodrigo", "Bueno", "Cantante", "Informacion",
                        "Exitoso", "t3",
                        [3800, 10])

        tabla_p = self.persona_dao.buscarPorID(0)
        self.assertEqual(tabla_p.nombre, "Rodrigo")
        self.assertEqual(tabla_p.apellido, "Bueno")
        self.assertEqual(tabla_p.tipo, "Cantante")

        tabla_a = self.actDao.buscarTodos()[0]

        self.assertEqual(tabla_a.mensaje, "Informacion")
        self.assertEqual(tabla_a.codigo_resultado, "Exitoso")
        self.assertEqual(tabla_a.descripcion_actividad,
                         "Se extrajo con cambio $3800")

        tabla_t = self.tipodao.buscarTodos()[3-1]       # Por t3 (fila i=2)
        self.assertEqual(tabla_t.descripcion,
                         "Se extrae dinero con cambio del banco")
        self.persona_dao.borrar(tabla_p)
        self.mejora.vaciado()