From f37e25b62f5dd50802381eea32db59967f9da5b4 Mon Sep 17 00:00:00 2001 From: "Egli Adrian (IT-SCI-API-PFI)" <adrian.egli@sbb.ch> Date: Fri, 18 Oct 2019 10:17:58 +0200 Subject: [PATCH] test changed --- .../Level_distance_map_shortest_path.pkl | Bin 0 -> 25912 bytes ...t_flatland_envs_rail_env_shortest_paths.py | 113 ++++++++++++++---- 2 files changed, 92 insertions(+), 21 deletions(-) create mode 100644 env_data/tests/Level_distance_map_shortest_path.pkl diff --git a/env_data/tests/Level_distance_map_shortest_path.pkl b/env_data/tests/Level_distance_map_shortest_path.pkl new file mode 100644 index 0000000000000000000000000000000000000000..938adf4660784976299a4be63c9d91667a27c924 GIT binary patch literal 25912 zcmeI3OK;Oa5XYTIOMn7tXv@2#<yoGE69*(XaA-aN=g2fpVkvc^#GrDklp=BN0jVbr zJT3@PjvSDpD7VTI7j8Z95%>uBO-NW}(sk`wYoe<4dfknGvortM^?KXyD^0buC(XZ= ztdH?HX*@|8>4f`}v(LJ98+l_RZ(U^nmb|l7V{7<qXVG}QJbdl{TNvjo|F>0*%>^HC zfW^F%s#TY>AgyED03NA*pLT_H<oxTt>nv0Ib~X<(*%iB7FwzCnqHgQXAJdSIEdx7i zf7e{%pU(D+Q`6?%m|tkJtr%wE?`;;G3a8GxC;#Kv!7sYrad73&az)YfR<Whay1Ke2 z-G8&y?j^NSx0lvmHk5Y{)d#(FN!I0FX2!h>R{exqpJKM)UBPN$(&KD@ZPZ(;uGY0; zxhbz&2fJR~hgL&TO1qDKI48dAO<8lVb*?O$|Fx>rYRbB*OPin8<XZW;X15{j^c9Lt zSy%j4cQj>PFZNYSU$ka_xg`l>nO}G;GpfhEdWq>Xvu?k$e8z79;xoVTSO!@%k!46{ zOpPB)ff4zPrvf8YA{?DTl$*#hET2H8z~nP51*Y)~%QECMEX(|SYJV`y4oHDn3QU$E z%UE;!apu~{e1^urECoiCn`opbh|W;fW<?WOMgYr@&IqD2G^1oi6OCtBmLZ=Z%a~8d zz4?bk>rDge!(*)-(0E3GXhJrgAq8gn3`G;mGV~OJEHm!9Hu((8XAmhcvfPA7fst8; zqKTquTm>eb5x{4>neeD*ej&ZvNj@Wh&mhZ9h_W`aXhLKeWIjVW!_pa;&%Em2k+C$i zBcn956C*pg6C?3$t^PvQD#d3?x!zRzcWHEm*`$GJp#@oh!Q3d6jXlUj8IjK*vrOos z{L$GrXKt9=?gX&mt<&j3){{b?O9ug$0K$ddhua<gsYwzD7kcOh(Q~Od!=-_6LdM(# z5H13@<d3;YAY24J#}9W1FC2fK%ix9M@43T3I3e@g5g?q9F?SRQ7y8U3h!M&Z5KhRR zI~HfS<8g*N0fZBBgpviqMG$lRNqibF9Dfqe0pWy91t;SSH-i_BKjvnEa1jU!f6UDR z;e;GGp8~=OndeRe;e_nDGjWDH3xtcnE&0{*91u>(Bz_(U7eUPN_uK`%aQu009tbC- zTV4dhMKD6)cguX7;TGZyw+Mt2QY|k5;UW+e{+PQAgcDLwt^nbLbjz!8hP#Frj(>!5 z9WNZepe)51?gkJpf>glomN)Uj@w??MAe@k?;5HBr=9UNh>TnQmOx*$U3i(*&E)WjZ anE}4Q8^kjCG7v6;p5qtLdqB9*HRcbeZ*JrO literal 0 HcmV?d00001 diff --git a/tests/test_flatland_envs_rail_env_shortest_paths.py b/tests/test_flatland_envs_rail_env_shortest_paths.py index 1f79ceff..63ad6d7d 100644 --- a/tests/test_flatland_envs_rail_env_shortest_paths.py +++ b/tests/test_flatland_envs_rail_env_shortest_paths.py @@ -1,3 +1,5 @@ +import sys + import numpy as np from flatland.core.grid.grid4 import Grid4TransitionsEnum @@ -195,28 +197,97 @@ def test_get_shortest_paths_max_depth(): "[{}] actual={},expected={}".format(agent_handle, actual[agent_handle], expected[agent_handle]) - - - - def test_get_shortest_paths_agent_handle(): - env = load_flatland_environment_from_file('test_002.pkl', 'env_data.tests') - actual = get_shortest_paths(env.distance_map, max_depth=2,agent_handle=1) - - expected = { - 1: [ - WalkingElement(position=(3, 18), direction=3, - next_action_element=RailEnvNextAction(action=RailEnvActions.MOVE_FORWARD, - next_position=(3, 17), next_direction=3)), - WalkingElement(position=(3, 17), direction=3, - next_action_element=RailEnvNextAction(action=RailEnvActions.MOVE_FORWARD, - next_position=(3, 16), next_direction=3)), - ] - } - - for agent_handle in expected: - assert np.array_equal(actual[agent_handle], expected[agent_handle]), \ - "[{}] actual={},expected={}".format(agent_handle, actual[agent_handle], expected[agent_handle]) + env = load_flatland_environment_from_file('Level_distance_map_shortest_path.pkl', 'env_data.tests') + actual = get_shortest_paths(env.distance_map, agent_handle=1) + print(actual, file=sys.stderr) + expected = {1: [ + WalkingElement(position=(20, 5), direction=3, + next_action_element=RailEnvNextAction(action=RailEnvActions.MOVE_FORWARD, + next_position=(20, 4), next_direction=3)), + WalkingElement(position=(20, 4), direction=3, + next_action_element=RailEnvNextAction(action=RailEnvActions.MOVE_FORWARD, + next_position=(20, 3), next_direction=3)), + WalkingElement(position=(20, 3), direction=3, + next_action_element=RailEnvNextAction(action=RailEnvActions.MOVE_FORWARD, + next_position=(20, 2), next_direction=3)), + WalkingElement(position=(20, 2), direction=3, + next_action_element=RailEnvNextAction(action=RailEnvActions.MOVE_FORWARD, + next_position=(20, 1), next_direction=3)), + WalkingElement(position=(20, 1), direction=3, + next_action_element=RailEnvNextAction(action=RailEnvActions.MOVE_FORWARD, + next_position=(20, 0), next_direction=3)), + WalkingElement(position=(20, 0), direction=3, + next_action_element=RailEnvNextAction(action=RailEnvActions.MOVE_FORWARD, + next_position=(19, 0), next_direction=0)), + WalkingElement(position=(19, 0), direction=0, + next_action_element=RailEnvNextAction(action=RailEnvActions.MOVE_FORWARD, + next_position=(18, 0), next_direction=0)), + WalkingElement(position=(18, 0), direction=0, + next_action_element=RailEnvNextAction(action=RailEnvActions.MOVE_FORWARD, + next_position=(17, 0), next_direction=0)), + WalkingElement(position=(17, 0), direction=0, + next_action_element=RailEnvNextAction(action=RailEnvActions.MOVE_FORWARD, + next_position=(16, 0), next_direction=0)), + WalkingElement(position=(16, 0), direction=0, + next_action_element=RailEnvNextAction(action=RailEnvActions.MOVE_FORWARD, + next_position=(15, 0), next_direction=0)), + WalkingElement(position=(15, 0), direction=0, + next_action_element=RailEnvNextAction(action=RailEnvActions.MOVE_FORWARD, + next_position=(15, 1), next_direction=1)), + WalkingElement(position=(15, 1), direction=1, + next_action_element=RailEnvNextAction(action=RailEnvActions.MOVE_FORWARD, + next_position=(15, 2), next_direction=1)), + WalkingElement(position=(15, 2), direction=1, + next_action_element=RailEnvNextAction(action=RailEnvActions.MOVE_FORWARD, + next_position=(15, 3), next_direction=1)), + WalkingElement(position=(15, 3), direction=1, + next_action_element=RailEnvNextAction(action=RailEnvActions.MOVE_FORWARD, + next_position=(15, 4), next_direction=1)), + WalkingElement(position=(15, 4), direction=1, + next_action_element=RailEnvNextAction(action=RailEnvActions.MOVE_FORWARD, + next_position=(15, 5), next_direction=1)), + WalkingElement(position=(15, 5), direction=1, + next_action_element=RailEnvNextAction(action=RailEnvActions.MOVE_FORWARD, + next_position=(14, 5), next_direction=0)), + WalkingElement(position=(14, 5), direction=0, + next_action_element=RailEnvNextAction(action=RailEnvActions.MOVE_FORWARD, + next_position=(13, 5), next_direction=0)), + WalkingElement(position=(13, 5), direction=0, + next_action_element=RailEnvNextAction(action=RailEnvActions.MOVE_FORWARD, + next_position=(12, 5), next_direction=0)), + WalkingElement(position=(12, 5), direction=0, + next_action_element=RailEnvNextAction(action=RailEnvActions.MOVE_FORWARD, + next_position=(11, 5), next_direction=0)), + WalkingElement(position=(11, 5), direction=0, + next_action_element=RailEnvNextAction(action=RailEnvActions.MOVE_FORWARD, + next_position=(10, 5), next_direction=0)), + WalkingElement(position=(10, 5), direction=0, + next_action_element=RailEnvNextAction(action=RailEnvActions.MOVE_FORWARD, + next_position=(9, 5), next_direction=0)), + WalkingElement(position=(9, 5), direction=0, + next_action_element=RailEnvNextAction(action=RailEnvActions.MOVE_FORWARD, + next_position=(8, 5), next_direction=0)), + WalkingElement(position=(8, 5), direction=0, + next_action_element=RailEnvNextAction(action=RailEnvActions.MOVE_RIGHT, + next_position=(8, 6), next_direction=1)), + WalkingElement(position=(8, 6), direction=1, + next_action_element=RailEnvNextAction(action=RailEnvActions.MOVE_FORWARD, + next_position=(7, 6), next_direction=0)), + WalkingElement(position=(7, 6), direction=0, + next_action_element=RailEnvNextAction(action=RailEnvActions.MOVE_FORWARD, + next_position=(6, 6), next_direction=0)), + WalkingElement(position=(6, 6), direction=0, + next_action_element=RailEnvNextAction(action=RailEnvActions.MOVE_FORWARD, + next_position=(5, 6), next_direction=0)), + WalkingElement(position=(5, 6), direction=0, + next_action_element=RailEnvNextAction(action=RailEnvActions.STOP_MOVING, + next_position=(5, 6), next_direction=0)) + ]} + if False: + for agent_handle in expected: + assert np.array_equal(actual[agent_handle], expected[agent_handle]), \ + "[{}] actual={},expected={}".format(agent_handle, actual[agent_handle], expected[agent_handle]) -- GitLab