class AlbumTestCase(unittest.TestCase): def setUp(self): self.session = Session() self.coleccion = Coleccion() def testAgregarAlbum(self): self.coleccion.agregar_album("Mio", 2000, "Sin descripción", "CD") self.coleccion.agregar_album("Clara luna", 1992, "Sin descripción", "CASETE") self.consulta1 = self.session.query(Album).filter( Album.titulo == "Mio").first() self.consulta2 = self.session.query(Album).filter( Album.id == 2).first() self.assertEqual(self.consulta1.titulo, "Mio") self.assertIsNotNone(self.consulta2) def testEditarAlbum(self): self.coleccion.editar_album(2, "Clara luna-Mix", 1982, "Sin descripción", "DISCO") self.consulta = self.session.query(Album).filter(Album.id == 2).first() self.assertIsNot(self.consulta.titulo, "Clara luna") def testDarAlbumPorId(self): self.coleccion.agregar_album("Infinito arcoiris", 1990, "Sin descripción", "CASETE") self.album_id = self.session.query(Album).filter( Album.titulo == "Infinito arcoiris").first().id self.consulta = self.coleccion.dar_album_por_id( self.album_id)["titulo"] self.assertEqual(self.consulta, "Infinito arcoiris")
class AlbumTestCase(unittest.TestCase): def setUp(self): self.session = Session() self.coleccion = Coleccion() # Generación de datos con libreria Faker self.data_factory = Faker() def test_agregar_album(self): # Nombre aleatorio titulo_album1 = self.data_factory.name() # Año aleatorio anio_album1 = self.data_factory.year() # Frase aleatoria descripcion_album1 = self.data_factory.sentence() self.coleccion.agregar_album(titulo_album1, anio_album1, descripcion_album1, "CD") descripcion_album2 = self.data_factory.sentence() self.coleccion.agregar_album("Live Killers", 2013, descripcion_album2, "CASETE") anio_album3 = self.data_factory.year() descripcion_album3 = self.data_factory.sentence() self.coleccion.agregar_album("Clara luna", anio_album3, descripcion_album3, "CASETE") consulta1 = self.session.query(Album).filter(Album.titulo == titulo_album1).first() consulta2 = self.session.query(Album).filter(Album.id == 2).first() self.assertEqual(consulta1.titulo, titulo_album1) self.assertIsNotNone(consulta2) # self.assertIsNotNone(None) def test_editar_album(self): nueva_descripcion_album = self.data_factory.sentence() self.coleccion.editar_album(2, "Clara luna-Mix", 2013, nueva_descripcion_album, "DISCO") consulta = self.session.query(Album).filter(Album.id == 2).first() self.assertIsNot(consulta.titulo, "Live Killers") def test_eliminar_album(self): self.coleccion.eliminar_album(1) consulta = self.session.query(Album).filter(Album.id == 1).first() self.assertIsNone(consulta) def test_dar_albumes(self): consulta1 = self.coleccion.dar_albumes() titulo_album = self.data_factory.name() anio_album = self.data_factory.year() descripcion_album = self.data_factory.sentence() self.coleccion.agregar_album(titulo_album, anio_album, descripcion_album, "CD") consulta2 = self.coleccion.dar_albumes() self.assertGreaterEqual(len(consulta2), len(consulta1)) def test_dar_album_por_id(self): titulo_album = self.data_factory.name() anio_album = self.data_factory.year() descripcion_album = self.data_factory.sentence() self.coleccion.agregar_album(titulo_album, anio_album, descripcion_album, "CASETE") album_id = self.session.query(Album).filter(Album.titulo == titulo_album).first().id consulta = self.coleccion.dar_album_por_id(album_id)["titulo"] self.assertEqual(consulta, titulo_album) def test_buscar_albumes_por_titulo(self): consulta1 = self.coleccion.buscar_albumes_por_titulo("clara luna") anio_album = self.data_factory.year() descripcion_album = self.data_factory.sentence() self.coleccion.agregar_album("Clara luna-Instrumental", anio_album, descripcion_album, "CD") consulta2 = self.coleccion.buscar_albumes_por_titulo("clara luna") self.assertLessEqual(len(consulta1), len(consulta2))
def setUp(self): self.session = Session() self.coleccion = Coleccion() # Generación de datos con libreria Faker self.data_factory = Faker()
import sys import src.vista.interfaz_coleccion as ic from src.logica.coleccion import Coleccion from src.modelo.declarative_base import session, Base, engine if __name__ == '__main__': Base.metadata.create_all(engine) session.close() coleccion = Coleccion() app = ic.App(sys.argv, coleccion) sys.exit(app.exec_())
def setUp(self): self.session = Session() self.coleccion = Coleccion()
class CancionTestCase(unittest.TestCase): def setUp(self): self.session = Session() self.coleccion = Coleccion() # Generación de datos con libreria Faker self.data_factory = Faker() def test_cancion_sin_interpretes(self): # Nombre aleatorio titulo_cancion = self.data_factory.name() # Número aleatorio entre 0 y 60 minutos_cancion = self.data_factory.pyint(0, 60) segundos_cancion = self.data_factory.pyint(0, 60) compositor_cancion = self.data_factory.name() cancion = self.coleccion.agregar_cancion(titulo_cancion, minutos_cancion, segundos_cancion, compositor_cancion, -1, []) self.assertEqual(cancion, False) def test_cancion_varios_interpretes(self): nombre_interprete1 = self.data_factory.name() # Frase aleatoria texto_curiosidades1 = self.data_factory.sentence() self.coleccion.agregar_interprete(nombre_interprete1, texto_curiosidades1, -1) nombre_interprete2 = self.data_factory.name() texto_curiosidades2 = self.data_factory.sentence() self.coleccion.agregar_interprete(nombre_interprete2, texto_curiosidades2, -1) titulo_cancion = self.data_factory.name() minutos_cancion = self.data_factory.pyint(0, 60) segundos_cancion = self.data_factory.pyint(0, 60) compositor_cancion = self.data_factory.name() self.coleccion.agregar_cancion(titulo_cancion, minutos_cancion, segundos_cancion, compositor_cancion, -1, [{'nombre': nombre_interprete1, 'texto_curiosidades': texto_curiosidades1}, {'nombre': nombre_interprete2, 'texto_curiosidades': texto_curiosidades2}]) consulta = self.session.query(Cancion).filter(Cancion.titulo == titulo_cancion).first() self.assertIsNotNone(consulta) def test_cancion_con_album(self): titulo_album = self.data_factory.name() # Año aleatorio anio_album = self.data_factory.year() descripcion_album = self.data_factory.sentence() self.coleccion.agregar_album(titulo_album, anio_album, descripcion_album, "CD") consulta1 = self.session.query(Album).filter(Album.titulo == titulo_album).first().id self.coleccion.agregar_interprete("Alejandra Guzman", "Canción dedicada a su ...", -1) minutos_cancion = self.data_factory.pyint(0, 60) segundos_cancion = self.data_factory.pyint(0, 60) compositor_cancion = self.data_factory.name() self.coleccion.agregar_cancion("Bye mamá", minutos_cancion, segundos_cancion, compositor_cancion, consulta1, [{'nombre': 'Alejandra Guzman', 'texto_curiosidades': 'Canción dedicada a su ...'}]) consulta2 = self.session.query(Cancion).filter(Cancion.titulo == "Bye mamá").first() self.assertNotEqual(len(consulta2.albumes), 0) def test_cancion_repetida_album(self): titulo_album = self.data_factory.name() anio_album = self.data_factory.year() descripcion_album = self.data_factory.sentence() self.coleccion.agregar_album(titulo_album, anio_album, descripcion_album, "CD") consulta1 = self.session.query(Album).filter(Album.titulo == titulo_album).first().id nombre_interprete1 = self.data_factory.name() # Texto aleatorio texto_curiosidades1 = self.data_factory.text() self.coleccion.agregar_interprete(nombre_interprete1, texto_curiosidades1, -1) titulo_cancion1 = self.data_factory.name() minutos_cancion1 = self.data_factory.pyint(0, 60) segundos_cancion1 = self.data_factory.pyint(0, 60) compositor_cancion1 = self.data_factory.name() self.coleccion.agregar_cancion(titulo_cancion1, minutos_cancion1, segundos_cancion1, compositor_cancion1, consulta1, [{'nombre': nombre_interprete1, 'texto_curiosidades': texto_curiosidades1}]) nombre_interprete2 = self.data_factory.name() texto_curiosidades2 = self.data_factory.text() self.coleccion.agregar_interprete(nombre_interprete2, texto_curiosidades2, -1) minutos_cancion2 = self.data_factory.pyint(0, 60) segundos_cancion2 = self.data_factory.pyint(0, 60) compositor_cancion2 = self.data_factory.name() cancion = self.coleccion.agregar_cancion(titulo_cancion1, minutos_cancion2, segundos_cancion2, compositor_cancion2, consulta1, [{'nombre': nombre_interprete2, 'texto_curiosidades': texto_curiosidades2}]) self.assertEqual(cancion, False) def test_editar_cancion(self): consulta1 = self.session.query(Cancion).filter(Cancion.id == 2).first().compositor consulta2 = self.session.query(Interprete).filter(Interprete.nombre == "Franco de Vita").first() texto_curiosidades = self.data_factory.text() minutos_cancion = self.data_factory.pyint(0, 60) segundos_cancion = self.data_factory.pyint(0, 60) if consulta2 is None: self.coleccion.agregar_interprete("Franco de Vita", texto_curiosidades, 1) self.coleccion.editar_cancion(2, "Bye mamá", minutos_cancion, segundos_cancion, "J.R.Florez y Difelisatti", [{'id': '2', 'nombre': 'Alejandra Guzman', 'texto_curiosidades': 'Canción dedicada a su ...'}, {'id': 'n', 'nombre': 'Franco de Vita', 'texto_curiosidades': texto_curiosidades}]) else: self.coleccion.editar_cancion(2, "Bye bye", minutos_cancion, segundos_cancion, "J.R.Florez y Difelisatti", [{'id': '2', 'nombre': 'Alejandra Guzman', 'texto_curiosidades': 'Canción dedicada a su ...'}, {'id': '9', 'nombre': 'Franco de Vita', 'texto_curiosidades': texto_curiosidades}]) consulta3 = self.session.query(Cancion).filter(Cancion.id == 2).first() self.assertEqual(consulta3.compositor, "J.R.Florez y Difelisatti") def test_eliminar_cancion(self): self.coleccion.eliminar_cancion(3) consulta = self.session.query(Cancion).filter(Cancion.id == 3).first() self.assertIsNone(consulta) def test_buscar_canciones_por_titulo(self): titulo_cancion = self.data_factory.name() anio_cancion = self.data_factory.year() descripcion_cancion = self.data_factory.sentence() self.coleccion.agregar_album(titulo_cancion, anio_cancion, descripcion_cancion, "CD") consulta1 = self.session.query(Album).filter(Album.titulo == titulo_cancion).first().id nombre_interprete = self.data_factory.name() texto_curiosidades = self.data_factory.text() self.coleccion.agregar_interprete(nombre_interprete, texto_curiosidades, -1) minutos_cancion = self.data_factory.pyint(0, 60) segundos_cancion = self.data_factory.pyint(0, 60) compositor_cancion = self.data_factory.name() self.coleccion.agregar_cancion("Baby blues", minutos_cancion, segundos_cancion, compositor_cancion, consulta1, [{'nombre': nombre_interprete, 'texto_curiosidades': texto_curiosidades}]) consulta = self.coleccion.buscar_canciones_por_titulo("Baby") self.assertGreater(len(consulta), 0) def test_dar_cancion_por_id(self): consulta = self.coleccion.dar_cancion_por_id(1) self.assertEqual(consulta["titulo"], "Baby blues")