Пример #1
0
 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")
     ]
Пример #2
0
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
Пример #3
0
 def setup_method(self, method):
     self.base = Base()
     self.alumno = Alumno(self.base, 0, 'Ivan Wolf')
Пример #4
0
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
Пример #5
0
 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'))
Пример #6
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)
Пример #7
0
 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)