def setup_method(self, method): self.base = Base() self.base.db.append(Ramo("RAMOSINVACANTES", "0", "10")) self.alumnos = [ Alumno(self.base, 0, "vicente"), Alumno(self.base, 50, "jose") ]
class TestSistema: def setup_method(self, method): self.base = Base() self.alumno = Alumno(self.base, 0, "Rodolfo") self.ramo = Ramo("MAT9999", "0", "10") self.base.db.append(self.ramo) # con y sin vacantes def test_tomar_si(self): assert self.base.inscribir("ICS3902", self.alumno) == True def test_tomar_no(self): assert self.base.inscribir(self.ramo.sigla, self.alumno) == False # ver todas las condiciones de botar def test_botar(self): cred = self.alumno.creditos_actuales largo = len(self.alumno.ramos) self.alumno.tomar_ramo("ICS3902") for i in self.base.db: if i.sigla == "ICS3902": aux = i self.alumno.botar_ramo("ICS3902") assert aux.vacantes == 30 and self.alumno.creditos_actuales == cred and len(self.alumno.ramos) == largo # condicion de creditos def test_creditos_si(self): assert self.alumno.tomar_ramo("ICS3902") == True def test_creditos_no(self): assert self.alumno.tomar_ramo("IIC2233") == False # repeticion de ramos def test_repeticion_si(self): assert self.alumno.tomar_ramo("ICS3902") == True def test_repeticion_no(self): self.alumno.tomar_ramo("ICS3902") assert self.alumno.tomar_ramo("ICS3902") == False
def setup_method(self, method): self.base = Base() self.alumno = Alumno(self.base, 0, 'Ivan Wolf')
class TestSistema: def setup_method(self, method): self.base = Base() self.alumno = Alumno(self.base, 0, 'Ivan Wolf') def test_base_inscribir_hay_vacantes(self): """ Se pueden tomar ramos si es que hay vacantes? """ for ramo in self.base.db: assert self.base.inscribir(ramo.sigla, self.alumno) def test_base_inscribir_no_hay_vacantes(self): """ Que pasa si no quedan bacantes? """ for ramo in self.base.db: ramo.vacantes = 0 assert not self.base.inscribir(ramo.sigla, self.alumno) def test_tomar_ramo_max_creditos(self): """ Que pasa si ya tengo 50 cr """ self.alumno.creditos_actuales = 45 assert not self.alumno.tomar_ramo(self.base.db[1].sigla) def test_tomar_ramo_dos_veces(self): """ Puede un alumno tomar el mismo ramo dos veces? """ self.alumno.tomar_ramo(self.base.db[0].sigla) assert not self.alumno.tomar_ramo(self.base.db[0].sigla) def test_botar_ramo_libera_vacante(self): """ Al botar un ramo, se libera una vacante? """ curso = self.base.db[0] capacidad = curso.vacantes self.alumno.tomar_ramo(curso.sigla) self.alumno.botar_ramo(curso.sigla) assert capacidad == curso.vacantes def test_botar_ramo_eliminar_creditos(self): """ Al botar un ramo se eliminan los creditos """ curso = self.base.db[0] self.alumno.tomar_ramo(curso.sigla) creditos = self.alumno.creditos_actuales self.alumno.botar_ramo(curso.sigla) assert self.alumno.creditos_actuales == creditos - curso.creditos def test_botar_ramo_elimina_curos(self): """ Al botar un ramo se elimina el curso de la lista de ramos del alumno """ curso = self.base.db[0] self.alumno.tomar_ramo(curso.sigla) self.alumno.botar_ramo(curso.sigla) assert not curso in self.alumno.ramos
def setup_method(self, method): self.base = Base() self.alumno = Alumno(base=self.base, creditos=0, nombre='Yo') self.base.db.append(Ramo('IIC2233A', '0', '0'))
class TestSistema: def setup_method(self, method): self.base = Base() self.alumno = Alumno(base=self.base, creditos=0, nombre='Yo') self.base.db.append(Ramo('IIC2233A', '0', '0')) def test_inscribir_con_vacantes(self): ramo = self.base.db[0] # ramo con vacantes assert self.base.inscribir(ramo.sigla, self.alumno) def test_inscribir_sin_vacantes(self): ramo = self.base.db[-1] # ramo sin vacantes agregado antes assert not self.base.inscribir(ramo.sigla, self.alumno) def test_botar_vacantes(self): ramo = self.base.db[0] vacantes = ramo.vacantes # vacantes antes de inscribir self.base.inscribir(ramo.sigla, self.alumno) # deberia bajar en 1 las vacantes self.base.botar(ramo.sigla, self.alumno) # deberia volver a subir las vacantes assert ramo.vacantes == vacantes # revisar vacantes antes = vacantes despues def test_botar_creditos_lista(self): ramo = self.base.db[0] creditos = self.alumno.creditos_actuales # creditos antes de inscribir self.alumno.tomar_ramo(ramo.sigla) # inscribo deben subir los cred # y debe agregarse a la lista de ramos self.alumno.botar_ramo( ramo.sigla) # boto debe vaciarse la lista y los cred bajar assert self.alumno.creditos_actuales == creditos and ramo.sigla not in self.alumno.ramos def test_revisar_repeticion(self): ramo = self.base.db[0] self.alumno.tomar_ramo(ramo.sigla) assert not self.alumno.tomar_ramo(ramo.sigla) def test_revisar_no_repeticion(self): ramo = self.base.db[0] ramo2 = self.base.db[1] self.alumno.tomar_ramo(ramo.sigla) assert not self.alumno.tomar_ramo(ramo2.sigla) def test_creditos_maximos_excedidos(self): assert not self.alumno.tomar_ramo('IIC2233') def test_creditos_maximos_no_excedidos(self): ramo = self.base.db[0] assert self.alumno.tomar_ramo(ramo.sigla)
def setup_method(self, method): self.base = Base() self.alumno = Alumno(self.base, 0, "Rodolfo") self.ramo = Ramo("MAT9999", "0", "10") self.base.db.append(self.ramo)