ia-guiao-sobre-pesquisa/tests/test_aula4.py

31 lines
1.2 KiB
Python
Raw Permalink Normal View History

2024-09-17 10:51:48 +00:00
import pytest
from cidades import SearchProblem, SearchTree, cidades_portugal
@pytest.fixture
def braga_faro():
return SearchProblem(cidades_portugal,'Braga','Faro')
def test_exercicio7(braga_faro):
assert cidades_portugal.cost('Aveiro', ('Aveiro', 'Agueda')) == 35
assert cidades_portugal.cost('Agueda', ('Agueda', 'Aveiro')) == 35
assert cidades_portugal.cost('Aveiro', ('Aveiro', 'Lisboa')) == None
def test_exercicio8(braga_faro):
t = SearchTree(braga_faro, 'depth')
assert t.search() == ['Braga', 'Porto', 'Agueda', 'Aveiro', 'Coimbra', 'Leiria', 'Castelo Branco', 'Santarem', 'Lisboa', 'Evora', 'Beja', 'Faro']
assert t.solution.cost == 1104
def test_exercicio9(braga_faro):
t = SearchTree(braga_faro, 'depth')
assert t.search() == ['Braga', 'Porto', 'Agueda', 'Aveiro', 'Coimbra', 'Leiria', 'Castelo Branco', 'Santarem', 'Lisboa', 'Evora', 'Beja', 'Faro']
assert t.cost == 1104
def test_exercicio10(braga_faro):
t = SearchTree(braga_faro, 'uniform')
assert t.search() == ['Braga', 'Porto', 'Agueda', 'Coimbra', 'Leiria', 'Santarem', 'Evora', 'Beja', 'Faro']
assert t.cost == 706
assert t.length == 8