def _subnamespace_url_conjunto(conjunto): conjunto_casteado = conjuntos_utils.castear_a_subclase(conjunto) if isinstance(conjunto_casteado, Practica): return 'practica' elif isinstance(conjunto_casteado, Parcial): return 'parcial' elif isinstance(conjunto_casteado, Final): return 'final'
def test_con_conjunto_con_parcial(self): """Debería devolver el Parcial correspondiente.""" parcial = Parcial.objects.create(materia=self.materia, anio=2018, cuatrimestre=1, numero=1) self.assertIsInstance( castear_a_subclase(parcial.conjuntodeenunciados_ptr), Parcial)
def test_con_conjunto_con_practica(self): """Debería devolver la Practica correspondiente.""" practica = Practica.objects.create(materia=self.materia, anio=2018, cuatrimestre=1, numero=1) self.assertIsInstance( castear_a_subclase(practica.conjuntodeenunciados_ptr), Practica)
def breadcrumb_ver_enunciado(materia_carrera, enunciado): breadcrumb_conjunto = breadcrumb_conjunto_de_enunciados( materia_carrera, conjuntos_utils.castear_a_subclase(enunciado.conjunto)) return breadcrumb_conjunto + [ BreadcrumbPage( enunciado, enunciados_url_parser.url_enunciado(materia_carrera, enunciado)) ]
def namespace_de_conjunto(conjunto): conjunto_casteado = conjuntos_utils.castear_a_subclase(conjunto) if isinstance(conjunto_casteado, Practica): subdomain = 'practicas' elif isinstance(conjunto_casteado, Parcial): subdomain = \ 'recuperatorios' if conjunto_casteado.recuperatorio else 'parciales' elif isinstance(conjunto_casteado, Final): subdomain = 'finales' namespace = _subnamespace_url_conjunto(conjunto) return 'materia:{}:{}'.format(subdomain, namespace)
def kwargs_de_conjunto(materiacarrera, conjunto): conjunto_casteado = conjuntos_utils.castear_a_subclase(conjunto) if isinstance(conjunto_casteado, Practica): kwargs = kwargs_de_practica(conjunto_casteado) elif isinstance(conjunto_casteado, Parcial): kwargs = kwargs_de_parcial(conjunto_casteado) elif isinstance(conjunto_casteado, Final): kwargs = kwargs_de_final(conjunto_casteado) else: raise ValueError('Tipo de conjunto no conocido.') kwargs['materia_carrera'] = materiacarrera return kwargs
def test_con_final_no_guardado(self): """Debería devolver el mismo Final.""" final = Final() self.assertEqual(castear_a_subclase(final), final)
def test_con_parcial_no_guardado(self): """Debería devolver el mismo Parcial.""" parcial = Parcial() self.assertEqual(castear_a_subclase(parcial), parcial)
def test_con_practica_no_guardada(self): """Debería devolver la misma Practica.""" practica = Practica() self.assertEqual(castear_a_subclase(practica), practica)
def test_con_conjunto_con_final(self): """Debería devolver el Final correspondiente.""" final = Final.objects.create(materia=self.materia, fecha=datetime.date.today()) self.assertIsInstance( castear_a_subclase(final.conjuntodeenunciados_ptr), Final)