def testes_remover(): grafo = grafoPronto() grafo.remover('AM') assert contemApenas((pe_mt_pe, pe_rn, pe_rj), grafo.incidentesDe('PE')) assert contemApenas((pe_mt_pe, sp_pe, pb_pe), grafo.incidentesEm('PE')) assert 'AM' not in grafo grafo.remover('RJ') assert 'RJ' not in grafo assert grafo.incidentesDe('SP') == (sp_pe, ) assert vazio(grafo.incidentesEm('SP')) assert pe_rj not in grafo.incidentesDe('PE') grafo.remover('PB') assert 'PB' not in grafo assert contemApenas((mt_rn1, mt_rn2, mt_rn3, pe_rn), grafo.incidentesEm('RN')) assert grafo.incidentesDe('RN') == (rn_mt, ) assert contemApenas((pe_mt_pe, sp_pe), grafo.incidentesEm('PE')) grafo.remover('MT') assert 'MT' not in grafo assert vazio(grafo.incidentesDe('RN')) assert grafo.incidentesEm('RN') == (pe_rn, ) assert grafo.incidentesDe('PE') == (pe_rn, ) assert grafo.incidentesEm('PE') == (sp_pe, )
def testes_desligar_naoRemoveraALigacaoDeBParaAMesmoQueElaPasassePeloFiltro(): grafo = novoGrafo('AM', 'PE') grafo.ligar('PE', 'AM', nome='BR10', ano=65) grafo.ligar('AM', 'PE', nome='BR10', ano=65) grafo.desligar('PE', 'AM') assert grafo.incidentesEm('PE') == grafo.incidentesDe('AM') == \ ({'nome':'BR10', 'ano':65}, ) assert vazio(grafo.incidentesDe('PE')) assert vazio(grafo.incidentesEm('AM'))
def testes_inserir(): grafo = Grafo() grafo.inserir('AM') grafo.inserir('PE', 'AM', **pe_am) assert grafo.incidentesDe('PE') == grafo.incidentesEm('AM') == (pe_am, ) assert vazio(grafo.incidentesDe('AM')) assert vazio(grafo.incidentesEm('PE')) grafo.inserir('SP', 'PE') assert grafo.incidentesEm('PE') == grafo.incidentesDe('SP') == ({}, ) assert vazio(grafo.incidentesEm('SP'))
def testes_desligar_removeTodasAsLigacoesDeAParaBSeOFiltroNaoForInformado(): grafo = novoGrafo('PE', 'RJ') grafo.ligar('PE', 'RJ') grafo.ligar('PE', 'RJ', NAO_ORIENTADA) grafo.ligar('PE', 'RJ', nome='BR101', comp=63, ano=56) grafo.ligar('PE', 'RJ', NAO_ORIENTADA, nome='BR105', km=77, idade=33) grafo.ligar('PE', 'RJ', id=44) grafo.ligar('PE', 'RJ', estado='em construção') grafo.ligar('PE', 'RJ', estado='finalizada', ano=2017) grafo.ligar('PE', 'RJ', NAO_ORIENTADA, categoria='rodoviaria') grafo.ligar('PE', 'RJ', categoria='aerea') grafo.ligar('PE', 'RJ', categoria='aquatica') # 10 ligações grafo.desligar('PE', 'RJ') assert vazio(grafo.incidentesDe('PE')) assert vazio(grafo.incidentesEm('PE')) assert vazio(grafo.incidentesDe('RJ')) assert vazio(grafo.incidentesEm('RJ'))
def testes_caminhosMinimos_retornaraUmaListaVaziaSeAsDistanciasDeTodosOsCaminhosDeAparaBForemIndefinidas( ): grafo = novoGrafo('PE', 'SP', 'RJ', 'MT') grafo.ligar('PE', 'SP', distancia=800, id='010') grafo.ligar('SP', 'MT', id='015') grafo.ligar('SP', 'RJ', id='020') grafo.ligar('RJ', 'MT', distancia=400, id='025') grafo.ligar('PE', 'MT', id='030') assert vazio(grafo.caminhosMinimos('PE', 'MT'))
def testes_ligacoes(): ligacoes = grafo.ligacoes('MT', 'RN') assert len(ligacoes) is 3 assert mt_rn1 in ligacoes assert mt_rn2 in ligacoes assert mt_rn3 in ligacoes assert grafo.ligacoes('RN', 'MT') == (rn_mt, ) assert vazio(grafo.ligacoes('PB', 'AM')) assert grafo.ligacoes('AM', 'AM') == (am_am, )
def testes_inserir_iraIgnorarOTerceiroParametroSeBNaoForInformado(): grafo = Grafo() grafo.inserir('PE', id=5, nome='BR101') grafo.inserir('AM', id=5, nome='BR101') grafo.inserir('SP', id=5, nome='BR101') grafo.inserir('RJ', id=5, nome='BR101') assert vazio(grafo.incidentesEm('PE')) assert vazio(grafo.incidentesDe('PE')) assert vazio(grafo.incidentesEm('AM')) assert vazio(grafo.incidentesDe('AM')) assert vazio(grafo.incidentesEm('SP')) assert vazio(grafo.incidentesDe('SP')) assert vazio(grafo.incidentesEm('RJ')) assert vazio(grafo.incidentesDe('RJ'))
def testes_ligacoes_retornaraUmaTuplaVaziaSe_b_naoForLocalizado(): assert vazio(grafo.ligacoes('PE', '-'))
def testes_incidentesDe_comUmItemQueNaoPossuiNenhumaLigacaoIncidente(): assert vazio(grafo.incidentesDe('KW'))
def testes_incidentesEm_retornaUmaTuplaVaziaSeOItemNaoForLocalizado(): assert vazio(grafo.incidentesEm('-'))
def testes_caminhos_retornaUmaListaVaziaSeNaoHouverCaminhoDeAParaB(): assert vazio(grafo.caminhos('AM', 'PE'))
def testes_rotas_retornaUmConjuntoVazioSeNaoHouverCaminhoDeAParaB(): assert vazio(grafo.rotas('AM', 'SP'))
def testes_caminhosMinimos_retornaraUmaListaVaziaSeNaoHouverCaminhoDeAparaB(): assert vazio(grafo.caminhosMinimos('AM', 'SP'))