class TestBanco(unittest.TestCase): def setUp(self): self.cajero = Cajero() self.mejora = CajeroMejorado() self.deposito1 = [ Billete_1000(), Billete_1000(), Billete_1000(), Billete_1000(), Billete_1000(), Billete_1000(), Billete_1000(), Billete_1000(), Billete_1000(), Billete_1000() ] self.deposito2 = [ Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500() ] self.deposito3 = [ Billete_200(), Billete_200(), Billete_200(), Billete_200(), Billete_200(), Billete_200(), Billete_200(), Billete_200(), Billete_200(), Billete_200(), Billete_200(), Billete_200(), Billete_200(), Billete_200(), Billete_200() ] def test_deposito_10000(self): self.cajero.carga(self.deposito1) self.assertEqual(self.cajero.conteo(), (10000, 0, 0, 0, 10000)) self.cajero.vaciado() def test_extraccion_5000_correcta(self): self.cajero.carga(self.deposito1) self.assertEqual(self.cajero.conteo(), (10000, 0, 0, 0, 10000)) self.assertEqual(self.cajero.extraer(5000), (5, 0, 0, 0)) self.cajero.vaciado() def test_extraccion_12000_incorrecta(self): self.cajero.carga(self.deposito1) self.assertEqual(self.cajero.conteo(), (10000, 0, 0, 0, 10000)) self.assertEqual(self.cajero.extraer(12000), "Error: Fondos del" + " banco insuficientes") self.cajero.vaciado() def test_extraccion_5520_incorrecta(self): self.cajero.carga(self.deposito1) self.assertEqual(self.cajero.conteo(), (10000, 0, 0, 0, 10000)) self.assertEqual(self.cajero.extraer(5520), "Error: El monto no " + "es multiplo de 100") self.cajero.vaciado() def test_deposito_20000(self): self.cajero.carga(self.deposito1 + self.deposito2) self.assertEqual(self.cajero.conteo(), (10000, 10000, 0, 0, 20000)) self.cajero.vaciado() def test_extraer_5000_de_20000(self): self.cajero.carga(self.deposito1 + self.deposito2) self.assertEqual(self.cajero.conteo(), (10000, 10000, 0, 0, 20000)) self.assertEqual(self.cajero.extraer(5000), (5, 0, 0, 0)) self.cajero.vaciado() def test_extraccion_12000_de_20000(self): self.cajero.carga(self.deposito1 + self.deposito2) self.assertEqual(self.cajero.conteo(), (10000, 10000, 0, 0, 20000)) self.assertEqual(self.cajero.extraer(12000), (10, 4, 0, 0)) self.cajero.vaciado() def test_extraccion_12100_de_20000(self): self.cajero.carga(self.deposito1 + self.deposito2) self.assertEqual(self.cajero.conteo(), (10000, 10000, 0, 0, 20000)) self.assertEqual(self.cajero.extraer(12100), "No es posible realizar" + " esa combinacion") self.cajero.vaciado() def test_extraccion_7000_de_20000(self): self.mejora.carga(self.deposito1 + self.deposito2) self.assertEqual(self.mejora.conteo(), (10000, 10000, 0, 0, 20000)) self.assertEqual(self.mejora.extraer_dinero_cambio(7000, 10.0), (6, 2, 0, 0)) self.cajero.vaciado() def test_deposito_23000(self): self.cajero.carga(self.deposito1 + self.deposito2 + self.deposito3) self.assertEqual(self.cajero.conteo(), (10000, 10000, 3000, 0, 23000)) self.cajero.vaciado() def test_extraer_5000_de_23000(self): self.cajero.carga(self.deposito1 + self.deposito2 + self.deposito3) self.assertEqual(self.cajero.conteo(), (10000, 10000, 3000, 0, 23000)) self.assertEqual(self.cajero.extraer(5000), (5, 0, 0, 0)) self.cajero.vaciado() def test_extraccion_12000_de_23000(self): self.cajero.carga(self.deposito1 + self.deposito2 + self.deposito3) self.assertEqual(self.cajero.conteo(), (10000, 10000, 3000, 0, 23000)) self.assertEqual(self.cajero.extraer(12000), (10, 4, 0, 0)) self.cajero.vaciado() def test_extraccion_12100_de_23000(self): self.cajero.carga(self.deposito1 + self.deposito2 + self.deposito3) self.assertEqual(self.cajero.conteo(), (10000, 10000, 3000, 0, 23000)) self.assertEqual(self.cajero.extraer(12100), "No es posible realizar" + " esa combinacion") self.cajero.vaciado() def test_extraccion_7000_de_23000(self): self.mejora.carga(self.deposito1 + self.deposito2 + self.deposito3) self.assertEqual(self.mejora.conteo(), (10000, 10000, 3000, 0, 23000)) self.assertEqual(self.mejora.extraer_dinero_cambio(7000, 10.0), (6, 0, 5, 0)) self.mejora.vaciado() def test_negativo_cambio_7000_de_23000(self): self.mejora.carga(self.deposito1 + self.deposito2 + self.deposito3) self.assertEqual(self.mejora.conteo(), (10000, 10000, 3000, 0, 23000)) self.assertEqual(self.mejora.extraer_dinero_cambio(-7000, 10.0), "Error: No se permiten montos negativos") self.mejora.vaciado() def test_negativo_7000_de_23000(self): self.mejora.carga(self.deposito1 + self.deposito2 + self.deposito3) self.assertEqual(self.mejora.conteo(), (10000, 10000, 3000, 0, 23000)) self.assertEqual(self.mejora.extraer(-7000), "Error: No se permiten " + "montos negativos") self.mejora.vaciado() def test_extraccion_8000_de_23000(self): self.mejora.carga(self.deposito1 + self.deposito2 + self.deposito3) self.assertEqual(self.mejora.conteo(), (10000, 10000, 3000, 0, 23000)) self.assertEqual(self.mejora.extraer_dinero_cambio(8000, 10.0), (7, 0, 5, 0)) self.cajero.vaciado()
class TestBanco(unittest.TestCase): def setUp(self): self.cajero = Cajero() self.mejora = CajeroMejorado() self.deposito1 = [ Billete_1000(), Billete_1000(), Billete_1000(), Billete_1000(), Billete_1000(), Billete_1000(), Billete_1000(), Billete_1000(), Billete_1000(), Billete_1000() ] self.deposito2 = [ Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500(), Billete_500() ] self.deposito3 = [ Billete_200(), Billete_200(), Billete_200(), Billete_200(), Billete_200(), Billete_200(), Billete_200(), Billete_200(), Billete_200(), Billete_200(), Billete_200(), Billete_200(), Billete_200(), Billete_200(), Billete_200() ] def test_deposito_10000(self): self.cajero.carga(self.deposito1) self.assertEqual(self.cajero.conteo(), (10000, 0, 0, 0, 10000)) self.cajero.vaciado() def test_extraccion_5000_correcta(self): self.cajero.carga(self.deposito1) self.assertEqual(self.cajero.conteo(), (10000, 0, 0, 0, 10000)) self.assertEqual(self.cajero.extraer(5000), (5, 0, 0, 0)) self.cajero.vaciado() def test_extraccion_12000_incorrecta(self): with self.assertRaises(ExcesoError): self.cajero.carga(self.deposito1) self.assertEqual(self.cajero.conteo(), (10000, 0, 0, 0, 10000)) self.cajero.extraer(12000) self.cajero.vaciado() def test_extraccion_5520_incorrecta(self): with self.assertRaises(MultipoError): self.cajero.carga(self.deposito1) self.assertEqual(self.cajero.conteo(), (10000, 0, 0, 0, 10000)) self.cajero.extraer(5520) self.cajero.vaciado() def test_deposito_20000(self): self.cajero.carga(self.deposito1 + self.deposito2) self.assertEqual(self.cajero.conteo(), (10000, 10000, 0, 0, 20000)) self.cajero.vaciado() def test_extraer_5000_de_20000(self): self.cajero.carga(self.deposito1 + self.deposito2) self.assertEqual(self.cajero.conteo(), (10000, 10000, 0, 0, 20000)) self.assertEqual(self.cajero.extraer(5000), (5, 0, 0, 0)) self.cajero.vaciado() def test_extraccion_12000_de_20000(self): self.cajero.carga(self.deposito1 + self.deposito2) self.assertEqual(self.cajero.conteo(), (10000, 10000, 0, 0, 20000)) self.assertEqual(self.cajero.extraer(12000), (10, 4, 0, 0)) self.cajero.vaciado() def test_extraccion_12100_de_20000(self): self.cajero.carga(self.deposito1 + self.deposito2) self.assertEqual(self.cajero.conteo(), (10000, 10000, 0, 0, 20000)) with self.assertRaises(CombinacionError): self.cajero.extraer(12100) self.cajero.vaciado() def test_extraccion_7000_de_20000(self): self.mejora.carga(self.deposito1 + self.deposito2) self.assertEqual(self.mejora.conteo(), (10000, 10000, 0, 0, 20000)) self.assertEqual(self.mejora.extraer_dinero_cambio(7000, 10.0), (6, 2, 0, 0)) self.cajero.vaciado() def test_extraccion_7000_cambio_exceso(self): self.mejora.carga(self.deposito1 + self.deposito2) self.assertEqual(self.mejora.conteo(), (10000, 10000, 0, 0, 20000)) with self.assertRaises(RangoError): self.mejora.extraer_dinero_cambio(7000, 500.0) self.cajero.vaciado() def test_extraccion_7000_cambio_negativo(self): self.mejora.carga(self.deposito1 + self.deposito2) self.assertEqual(self.mejora.conteo(), (10000, 10000, 0, 0, 20000)) with self.assertRaises(RangoError): self.mejora.extraer_dinero_cambio(7000, -3) self.cajero.vaciado() def test_deposito_23000(self): self.cajero.carga(self.deposito1 + self.deposito2 + self.deposito3) self.assertEqual(self.cajero.conteo(), (10000, 10000, 3000, 0, 23000)) self.cajero.vaciado() def test_extraer_5000_de_23000(self): self.cajero.carga(self.deposito1 + self.deposito2 + self.deposito3) self.assertEqual(self.cajero.conteo(), (10000, 10000, 3000, 0, 23000)) self.assertEqual(self.cajero.extraer(5000), (5, 0, 0, 0)) self.cajero.vaciado() def test_extraer_5000_sin_fondos(self): with self.assertRaises(VacioError): self.cajero.extraer(5000) def test_extraccion_7000_cambio_sin_fondos(self): with self.assertRaises(VacioError): self.mejora.extraer_dinero_cambio(7000, 10.0) def test_extraccion_12000_de_23000(self): self.cajero.carga(self.deposito1 + self.deposito2 + self.deposito3) self.assertEqual(self.cajero.conteo(), (10000, 10000, 3000, 0, 23000)) self.assertEqual(self.cajero.extraer(12000), (10, 4, 0, 0)) self.cajero.vaciado() def test_extraccion_12100_de_23000(self): with self.assertRaises(CombinacionError): self.cajero.carga(self.deposito1 + self.deposito2 + self.deposito3) self.assertEqual(self.cajero.conteo(), (10000, 10000, 3000, 0, 23000)) self.cajero.extraer(12100) self.cajero.vaciado() def test_extraccion_7000_de_23000(self): self.mejora.carga(self.deposito1 + self.deposito2 + self.deposito3) self.assertEqual(self.mejora.conteo(), (10000, 10000, 3000, 0, 23000)) self.assertEqual(self.mejora.extraer_dinero_cambio(7000, 10.0), (6, 0, 5, 0)) self.mejora.vaciado() def test_negativo_cambio_7000_de_23000(self): with self.assertRaises(NegativoError): self.mejora.carga(self.deposito1 + self.deposito2 + self.deposito3) self.assertEqual(self.mejora.conteo(), (10000, 10000, 3000, 0, 23000)) self.mejora.extraer_dinero_cambio(-7000, 10.0) self.mejora.vaciado() def test_negativo_7000_de_23000(self): with self.assertRaises(NegativoError): self.mejora.carga(self.deposito1 + self.deposito2 + self.deposito3) self.assertEqual(self.mejora.conteo(), (10000, 10000, 3000, 0, 23000)) self.mejora.extraer(-7000) self.mejora.vaciado() def test_extraccion_8000_de_23000(self): self.mejora.carga(self.deposito1 + self.deposito2 + self.deposito3) self.assertEqual(self.mejora.conteo(), (10000, 10000, 3000, 0, 23000)) self.assertEqual(self.mejora.extraer_dinero_cambio(8000, 10.0), (7, 0, 5, 0)) self.cajero.vaciado()
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()