def test_intervalo_uniform(self): intervalo_inicial=5.0 intervalo_final=15.0 amostras =[] for i in range(0,10000): amostra = utils_controller.gera_amostra_uniforme(intervalo_inicial, intervalo_final) self.assertLess(amostra, intervalo_final) self.assertGreater(amostra, intervalo_inicial)
def test_media_uniform(self): intervalo_inicial=5.0 intervalo_final=15.0 amostras =[] for i in range(0,10000): amostra = utils_controller.gera_amostra_uniforme(intervalo_inicial, intervalo_final) amostras.append(amostra) valor_media = utils_controller.media(amostras) self.assertEqual(round(valor_media,0), 10.0)
def agenda_prox_evento(tipo,tempo_atual,cliente_id,taxa_de_chegada,taxa_de_servico,probabilidade,tipo_distribuicao): if tipo==CHEGADA: #Calcula tempo ate proxima chegada do cliente_id if tipo_distribuicao==EXPONENCIAL: tempo_ate_prox_chegada = gera_amostra_exponencial(taxa_de_chegada) elif tipo_distribuicao==DETERMINISTICA: tempo_ate_prox_chegada = 1/taxa_de_chegada elif tipo_distribuicao==UNIFORME: tempo_ate_prox_chegada = gera_amostra_uniforme(5,15) return (tempo_atual+tempo_ate_prox_chegada,CHEGADA,cliente_id,tempo_ate_prox_chegada,tempo_atual) elif tipo==PARTIDA: #Calcula tempo de servico do cliente_id if tipo_distribuicao==EXPONENCIAL: tempo_de_servico = 1.0/taxa_de_servico elif tipo_distribuicao==DETERMINISTICA: tempo_de_servico = 1.0/taxa_de_servico elif tipo_distribuicao==UNIFORME: tempo_de_servico = gera_amostra_exponencial(taxa_de_servico) return (tempo_atual+tempo_de_servico,PARTIDA,cliente_id,tempo_de_servico,tempo_atual)