def tipos_acidentes(request): """ Return the render with the kinds of accidents. """ try: type_dao = TiposAcidentesDAO() types_accidents_list = type_dao.tipos_acidentes() types_accidents_year_list = type_dao.tipos_acidentes_ano() probability_list = type_dao.probabilidade_tipos_acidentes() average_deviation_list = type_dao.media_desvio_tipos_acidentes() type_list = get_type_list(probability_list) except (MySQLdb.Error, ResultadoConsultaNuloError): # logger.error(str(e)) erro = "Ocorreu um erro no sistema, tente novamente mais tarde!" response = render_to_response( "index.html", { 'erro': erro }, context_instance=RequestContext(request) ) return response response = render_to_response( "tipos_acidentes.html", { 'tipos_acidentes_list': types_accidents_list, 'tipos_acidentes_ano_list': types_accidents_year_list, 'anos': types_accidents_year_list[0].ano_list, 'probabilidade_tipos_acidentes_list': probability_list, 'tipos': type_list, 'media_desvio_tipos_acidentes_list': average_deviation_list, }, context_instance=RequestContext(request) ) return response
class TestTiposAcidentes(DAO_Tests): """docstring for TestTiposAcidentes Class that tests the methods from tipos_acidentes_dao """ def test_tipos_acidentes(self): """ Gives a description of the class being tested. """ self.dao = TiposAcidentesDAO() tipos_acidentes_list = self.dao.tipos_acidentes() self.assertAlmostEquals(len(tipos_acidentes_list), 10, delta=10) descricao_tipos_acidentes = [] for acidente in tipos_acidentes_list: descricao_tipos_acidentes.append(acidente.tipo) self.assertIn("Tombamento", descricao_tipos_acidentes) def test_tipos_acidentes_ano(self): """ Test if the method tipos_acidentes_ano is correctly instantiated. @brief Local variables tipos_acidentes_list - List of number of accidents and it's types. anos - List with years. descricao_tipos_acidentes_ano - List with a better description of each accident per year. """ self.dao = TiposAcidentesDAO() tipos_acidentes_ano_list = self.dao.tipos_acidentes_ano() anos = tipos_acidentes_ano_list[0].ano_list self.assertEquals([ 2007, 2008, 2009, 2010, 2011, 2012, 2013 ], anos) descricao_tipos_acidentes_ano = [] for acidente in tipos_acidentes_ano_list: descricao_tipos_acidentes_ano.append(acidente.tipo) self.assertIn("Tombamento", descricao_tipos_acidentes_ano) def test_probabilidade_tipos_acidentes(self): """ Test if the method probabilidade_tipos_acidentes is correctly calculating the probability. @brief Local variables probabilidade_tipos_list - List with probability of accidents per type. """ self.dao = TiposAcidentesDAO() probabilidade_tipos_list = self.dao.probabilidade_tipos_acidentes() for prob_tipos in probabilidade_tipos_list: for probabilidade in prob_tipos.probabilidade_por_limite_list: self.assertTrue(probabilidade >= 0 and probabilidade <= 100) def test_media_desvio_tipos_acidentes(self): """ Test if the method media_desvio_tipos_acidentes is calculationg the average and the standar deviation correctly. @brief Local variables media_desvio_list - List of standard deviation's averages. """ self.dao = TiposAcidentesDAO() media_desvio_list = self.dao.media_desvio_tipos_acidentes() for media_desvio_tipos_acidentes in media_desvio_list: self.assertTrue(media_desvio_tipos_acidentes.media > 0) self.assertTrue(media_desvio_tipos_acidentes.desvio > 0)