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

52 lines
1.7 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_exercicio1(braga_faro):
t = SearchTree(braga_faro,'depth')
assert t.search() == ['Braga', 'Porto', 'Agueda', 'Aveiro', 'Coimbra', 'Leiria', 'Castelo Branco', 'Santarem', 'Lisboa', 'Evora', 'Beja', 'Faro']
def test_exercicio2(braga_faro):
t = SearchTree(braga_faro, 'depth')
assert t.open_nodes[-1].depth == 0
t.search()
assert t.solution.depth == 11
def test_exercicio3(braga_faro):
t = SearchTree(braga_faro, 'depth')
t.search()
assert t.length == 11
def test_exercicio4(braga_faro):
t = SearchTree(braga_faro, 'depth')
assert t.search(limit=9) == ['Braga', 'Porto', 'Agueda', 'Aveiro', 'Coimbra', 'Leiria', 'Santarem', 'Lisboa', 'Beja', 'Faro']
assert t.length <= 9
def test_exercicio5(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.terminals == 19
assert t.non_terminals == 11
t = SearchTree(braga_faro, 'depth')
assert t.search(limit=9) == ['Braga', 'Porto', 'Agueda', 'Aveiro', 'Coimbra', 'Leiria', 'Santarem', 'Lisboa', 'Beja', 'Faro']
assert t.terminals == 12
assert t.non_terminals == 58
def test_exercicio6(braga_faro):
t = SearchTree(braga_faro, 'depth')
assert t.search() == ['Braga', 'Porto', 'Agueda', 'Aveiro', 'Coimbra', 'Leiria', 'Castelo Branco', 'Santarem', 'Lisboa', 'Evora', 'Beja', 'Faro']
assert round(t.avg_branching,2) == round((19+11-1)/11,2)