def test_minerals_walls() -> None: # attempting to path through mineral walls in goldenwall should fail path = os.path.join(get_map_files_folder(), 'GoldenWallLE.xz') # logger.info(path) map_data = mock_map_data(path) start = (110, 95) goal = (110, 40) grid = map_data.get_pyastar_grid() path = map_data.pathfind(start=start, goal=goal, grid=grid) assert (path is None) # also test climber grid for nonpathables grid = map_data.get_climber_grid() path = map_data.pathfind(start=start, goal=goal, grid=grid) assert (path is None) # remove the mineral wall that is blocking pathing from the left player's base to the bottom # side of the map map_data.bot.destructables = map_data.bot.destructables.filter( lambda x: x.distance_to((46, 41)) > 5) grid = map_data.get_pyastar_grid() path = map_data.pathfind(start=start, goal=goal, grid=grid) assert (path is not None) # attempting to path through tight pathways near destructables should work path = os.path.join(get_map_files_folder(), 'AbyssalReefLE.xz') map_data = mock_map_data(path) start = (130, 25) goal = (125, 47) grid = map_data.get_pyastar_grid() path = map_data.pathfind(start=start, goal=goal, grid=grid) assert (path is not None)
def test_minerals_walls() -> None: # attempting to path through mineral walls in goldenwall should fail import pathlib li = sorted(pathlib.Path('..').glob('**/*GoldenWallLE.xz')) # path = os.path.join(get_map_files_folder(), 'GoldenWallLE.xz') path = li[0].absolute() # logger.info(path) map_data = mock_map_data(path) start = (110, 95) goal = (110, 40) grid = map_data.get_pyastar_grid() path = map_data.pathfind(start=start, goal=goal, grid=grid) assert (path is None) # also test climber grid for nonpathables grid = map_data.get_climber_grid() path = map_data.pathfind(start=start, goal=goal, grid=grid) assert (path is None) # attempting to path through tight pathways near destructables should work path = os.path.join(get_map_files_folder(), 'AbyssalReefLE.xz') map_data = mock_map_data(path) start = (130, 25) goal = (125, 47) grid = map_data.get_pyastar_grid() path = map_data.pathfind(start=start, goal=goal, grid=grid) assert (path is not None)
def test_climber_grid() -> None: """assert that we can path through climb cells with climber grid, but not with normal grid""" path = os.path.join(get_map_files_folder(), 'GoldenWallLE.xz') map_data = mock_map_data(path) start = (150, 95) goal = (110, 40) grid = map_data.get_pyastar_grid() path = map_data.pathfind(start=start, goal=goal, grid=grid) assert (path is None) grid = map_data.get_climber_grid() path = map_data.pathfind(start=start, goal=goal, grid=grid) assert (path is None)
from .mocksetup import * from MapAnalyzer.utils import get_map_files_folder from MapAnalyzer.settings import ROOT_DIR import doctest goldenwall = os.path.join(get_map_files_folder(), 'GoldenWallLE.xz') map_data = mock_map_data(goldenwall) """ uncomment and run the function below to test doc strings without running the entire test suite """ # def test_docstrings() -> None: # test_files = [] # for root, dirs, files in os.walk(ROOT_DIR): # for f in files: # if f.endswith('.py'): # test_files.append(os.path.join(root, f)) # for f in test_files: # print(f) # doctest.testfile(f"{f}", extraglobs={'self': map_data}, verbose=True)