def test_regions(self, map_data: MapData) -> None: for region in map_data.regions.values(): for p in region.points: assert (region in map_data.where_all(p)), f"expected {region}, got {map_data.where_all(p)}, point {p}" assert (region == map_data.where(region.center)) # coverage region.plot(testing=True)
map_file = mf break with lzma.open(map_file, "rb") as f: raw_game_data, raw_game_info, raw_observation = pickle.load(f) bot = import_bot_instance(raw_game_data, raw_game_info, raw_observation) map_data = MapData(bot, loglevel="DEBUG") map_data.plot_map() map_data.show() # map_data.save('fname') # TEST ILLEGAL VALUES ISOLATED base = map_data.bot.townhalls[0] reg_start = map_data.where(base.position_tuple) reg_end = map_data.where(map_data.bot.enemy_start_locations[0].position) p0 = reg_start.center p1 = reg_end.center pts = [] r = 10 for i in range(50): pts.append(get_random_point(-500, -250, -500, -250)) arr = map_data.get_pyastar_grid() for p in pts: arr = map_data.add_cost(p, r, arr) path = map_data.pathfind(p0, p1, grid=arr) map_data.plot_influenced_path(start=p0, goal=p1, weight_array=arr) map_data.show() assert (path is not None), f"path = {path}"