41 lines
1.2 KiB
Python
41 lines
1.2 KiB
Python
import pytest
|
|
from random import randint
|
|
from modules.agente import Agente
|
|
from modules.mapa import Mapa, MAX_DIMENSAO, MIN_DIMENSAO
|
|
|
|
|
|
class Test_Mapa:
|
|
def test_criar_mapa_16x16(self):
|
|
"""
|
|
teste simples para criar objecto Mapa
|
|
"""
|
|
mapa = Mapa((16, 16))
|
|
assert isinstance(mapa, Mapa), f"esperado 'Mapa', retornado {type(mapa)}"
|
|
|
|
def test_criar_mapa_dimensao_negativa(self):
|
|
"""
|
|
teste para apanhar excepção quando dimensao de mapa for inferior a 1
|
|
"""
|
|
mapa: Mapa
|
|
with pytest.raises(ValueError) as e_info:
|
|
mapa = Mapa((-1, -1))
|
|
print(e_info, type(mapa))
|
|
|
|
def test_posicao(self):
|
|
"""
|
|
testar retorno de posicao
|
|
"""
|
|
mapa: Mapa = Mapa((16, 16))
|
|
pos_x: int = randint(MIN_DIMENSAO - 1, mapa.dimensao[1] + 1)
|
|
pos_y: int = randint(MIN_DIMENSAO - 1, mapa.dimensao[1] + 1)
|
|
agente: Agente = mapa.posicao((pos_x, pos_y))
|
|
if pos_x < 0:
|
|
pos_x = mapa.dimensao[0] - 1
|
|
if pos_x >= mapa.dimensao[0]:
|
|
pos_x = 0
|
|
if pos_y < 0:
|
|
pos_y = mapa.dimensao[1] - 1
|
|
if pos_y >= mapa.dimensao[0]:
|
|
pos_y = 0
|
|
assert agente is mapa.mundo[pos_x][pos_y]
|