예제 #1
0
    def test_parciales_de_materia_ordenados_con_parciales_de_numeros_diferentes(
            self):
        """
        Debería devolver un diccionario con posiciones igual a la cantidad de
        números diferentes.
        """
        anio1 = 2018
        anio2 = 2017
        cuatri1 = ConjuntoDeEnunciadosConCuatrimestre.PRIMERO
        cuatri2 = ConjuntoDeEnunciadosConCuatrimestre.VERANO
        cuatri3 = ConjuntoDeEnunciadosConCuatrimestre.SEGUNDO
        cuatri4 = ConjuntoDeEnunciadosConCuatrimestre.PRIMERO

        primeros = [
            Parcial(materia=self.materia,
                    anio=anio1,
                    cuatrimestre=cuatri1,
                    numero=1),
            Parcial(materia=self.materia,
                    anio=anio1,
                    cuatrimestre=cuatri2,
                    numero=1),
        ]

        segundos = [
            Parcial(materia=self.materia,
                    anio=anio1,
                    cuatrimestre=cuatri1,
                    numero=2),
            Parcial(materia=self.materia,
                    anio=anio2,
                    cuatrimestre=cuatri3,
                    numero=2),
            Parcial(materia=self.materia,
                    anio=anio2,
                    cuatrimestre=cuatri4,
                    numero=2),
        ]

        for parcial in primeros:
            parcial.save()

        for parcial in segundos:
            parcial.save()

        ordenados = parciales_de_materia_ordenados(self.materia)
        self.assertEquals(len(ordenados), 2)
        assert_lista_equals(self, ordenados[1], primeros)
        assert_lista_equals(self, ordenados[2], segundos)
예제 #2
0
    def test_file_path_de_recuperatorio(self):
        numero_parcial = 3
        cuatrimestre = ConjuntoDeEnunciadosConCuatrimestre.SEGUNDO
        anio = 2014
        parcial = Parcial(materia=self.materia,
                          anio=anio,
                          cuatrimestre=cuatrimestre,
                          numero=numero_parcial,
                          recuperatorio=True)
        path = conjunto_de_enunciados_file_path(parcial, 'archivo.rar')

        expected = '{materia}/recuperatorios/{anio}/{cuatrimestre}/{numero}.rar'.format(
            materia=self.materia.pk,
            anio=anio,
            cuatrimestre=cuatrimestre,
            numero=numero_parcial)
        self.assertEquals(expected, path)
예제 #3
0
    def test_file_path_de_parcial_no_recuperatorio(self):
        numero_parcial = 4
        cuatrimestre = ConjuntoDeEnunciadosConCuatrimestre.PRIMERO
        anio = 2012
        parcial = Parcial(materia=self.materia,
                          anio=anio,
                          cuatrimestre=cuatrimestre,
                          numero=numero_parcial,
                          recuperatorio=False)
        path = conjunto_de_enunciados_file_path(parcial, 'archivo.jpeg')

        expected = '{materia}/parciales/{anio}/{cuatrimestre}/{numero}.jpeg'.format(
            materia=self.materia.pk,
            anio=anio,
            cuatrimestre=cuatrimestre,
            numero=numero_parcial)
        self.assertEquals(expected, path)
예제 #4
0
 def test_con_parcial_no_guardado(self):
     """Debería devolver el mismo Parcial."""
     parcial = Parcial()
     self.assertEqual(castear_a_subclase(parcial), parcial)
예제 #5
0
    def test_parciales_de_materia_ordenados_con_primeros_parciales_diferente_anio(
            self):
        """
        Debería devolver el diccionario con los primeros parciales ordenados
        de último año a primero.
        """

        anio1 = 2018
        anio2 = 2017
        cuatri1 = ConjuntoDeEnunciadosConCuatrimestre.PRIMERO
        cuatri2 = ConjuntoDeEnunciadosConCuatrimestre.VERANO
        cuatri3 = ConjuntoDeEnunciadosConCuatrimestre.SEGUNDO
        cuatri4 = ConjuntoDeEnunciadosConCuatrimestre.PRIMERO

        parcial1 = Parcial(materia=self.materia,
                           anio=anio1,
                           cuatrimestre=cuatri1,
                           numero=1)
        parcial2 = Parcial(materia=self.materia,
                           anio=anio1,
                           cuatrimestre=cuatri2,
                           numero=1)
        parcial3 = Parcial(materia=self.materia,
                           anio=anio2,
                           cuatrimestre=cuatri3,
                           numero=1)
        parcial4 = Parcial(materia=self.materia,
                           anio=anio2,
                           cuatrimestre=cuatri4,
                           numero=1)

        # Los guardamos en desorden
        parcial2.save()
        parcial1.save()
        parcial4.save()
        parcial3.save()

        parciales = [parcial1, parcial2, parcial3, parcial4]
        ordenados = parciales_de_materia_ordenados(self.materia)
        self.assertEquals(len(ordenados), 1)
        assert_lista_equals(self, ordenados[1], parciales)
예제 #6
0
    def test_parciales_de_materia_ordenados_con_primeros_parciales_con_igual_anio(
            self):
        """
        Debería devolver un diccionario con los primeros parciales ordenados
        en la primer posición.
        """
        anio = 2018
        cuatri1 = ConjuntoDeEnunciadosConCuatrimestre.VERANO
        cuatri2 = ConjuntoDeEnunciadosConCuatrimestre.PRIMERO
        cuatri3 = ConjuntoDeEnunciadosConCuatrimestre.SEGUNDO

        parcial1 = Parcial(materia=self.materia,
                           anio=anio,
                           cuatrimestre=cuatri1,
                           numero=1)
        parcial2 = Parcial(materia=self.materia,
                           anio=anio,
                           cuatrimestre=cuatri2,
                           numero=1)
        parcial3 = Parcial(materia=self.materia,
                           anio=anio,
                           cuatrimestre=cuatri3,
                           numero=1)

        # Los guardamos en desorden
        parcial2.save()
        parcial1.save()
        parcial3.save()

        # Los ordenamos de último a primero
        parciales = [parcial3, parcial2, parcial1]
        ordenados = parciales_de_materia_ordenados(self.materia)
        self.assertEquals(len(ordenados), 1)
        assert_lista_equals(self, ordenados[1], parciales)
예제 #7
0
    def test_parciales_de_materia_ordenados_con_recuperatorios(self):
        """Debería devolver los recuperatorios antes que los parciales."""
        cuatri1 = ConjuntoDeEnunciadosConCuatrimestre.PRIMERO
        cuatri2 = ConjuntoDeEnunciadosConCuatrimestre.SEGUNDO

        parcial1 = Parcial(materia=self.materia,
                           anio=2018,
                           cuatrimestre=cuatri1,
                           numero=1)
        recu = Parcial(materia=self.materia,
                       anio=2018,
                       cuatrimestre=cuatri1,
                       numero=1,
                       recuperatorio=True)
        parcial2 = Parcial(materia=self.materia,
                           anio=2018,
                           cuatrimestre=cuatri2,
                           numero=1)

        parcial1.save()
        parcial2.save()
        recu.save()

        parciales = [parcial2, recu, parcial1]
        ordenados = parciales_de_materia_ordenados(self.materia)
        self.assertEquals(len(ordenados), 1)
        assert_lista_equals(self, ordenados[1], parciales)