From e4d46c8b9115d0a4ae84a9ffc781a88851058e49 Mon Sep 17 00:00:00 2001 From: "Egli Adrian (IT-SCI-API-PFI)" <adrian.egli@sbb.ch> Date: Thu, 19 Sep 2019 08:58:19 +0200 Subject: [PATCH] testing city generator --- tests/test_flatland_envs_city_generator.py | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 tests/test_flatland_envs_city_generator.py diff --git a/tests/test_flatland_envs_city_generator.py b/tests/test_flatland_envs_city_generator.py new file mode 100644 index 00000000..a7a96e51 --- /dev/null +++ b/tests/test_flatland_envs_city_generator.py @@ -0,0 +1,36 @@ +import numpy as np + +from flatland.core.grid.grid_utils import Vec2dOperations as Vec2d +from flatland.envs.observations import GlobalObsForRailEnv +from flatland.envs.rail_env import RailEnv +from flatland.envs.rail_generators_city_generator import city_generator +from flatland.envs.schedule_generators import city_schedule_generator + + +def test_city_generator(): + dist_fun = Vec2d.get_manhattan_distance + env = RailEnv(width=50, + height=50, + rail_generator=city_generator(num_cities=5, + city_size=10, + allowed_rotation_angles=[90], + max_number_of_station_tracks=4, + nbr_of_switches_per_station_track=2, + connect_max_nbr_of_shortes_city=2, + do_random_connect_stations=False, + a_star_distance_function=dist_fun, + seed=0, + print_out_info=False + ), + schedule_generator=city_schedule_generator(), + number_of_agents=10, + obs_builder_object=GlobalObsForRailEnv()) + + assert (np.sum(env.rail.grid) == 2718122) + s0 = 0 + s1 = 0 + for a in range(env.get_num_agents()): + s0 = Vec2d.get_manhattan_distance(env.agents[a].position, (0, 0)) + s1 = Vec2d.get_chebyshev_distance(env.agents[a].position, (0, 0)) + assert s0 == 49 + assert s1 == 27 -- GitLab