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]