31 lines
1.2 KiB
Python
31 lines
1.2 KiB
Python
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
|