def test_dijkstra_shortest_paths_in_a_range(): from openalea.plantgl.all import dijkstra_shortest_paths_in_a_range results = dijkstra_shortest_paths_in_a_range(topology, 0, distance) results.sort(key=lambda x:x[0]) print 'dijkstra_shortest_paths_in_a_range' print results for nid, parent, dist in results: print nid, parent, dist assert [p for i,p,d in results] == resparents assert [d for i,p,d in results] == resdists
def test_dijkstra_shortest_paths_in_a_range(): from openalea.plantgl.all import dijkstra_shortest_paths_in_a_range results = dijkstra_shortest_paths_in_a_range(topology, 0, distance) results.sort(key=lambda x: x[0]) print 'dijkstra_shortest_paths_in_a_range' print results for nid, parent, dist in results: print nid, parent, dist assert [p for i, p, d in results] == resparents assert [d for i, p, d in results] == resdists
def test_dijkstra_shortest_paths_in_a_range3(): from openalea.plantgl.all import dijkstra_shortest_paths_in_a_range maxnbelem = 5 results = dijkstra_shortest_paths_in_a_range(topology, 0, distance, 100, maxnbelements = maxnbelem) results.sort(key=lambda x:x[0]) print('dijkstra_shortest_paths_in_a_range') print(results) for nid, parent, dist in results: print(nid, parent, dist) assert [p for i,p,d in results] == resparents[:maxnbelem] assert [d for i,p,d in results] == resdists[:maxnbelem]
def test_dijkstra_shortest_paths_in_a_range2(): from openalea.plantgl.all import dijkstra_shortest_paths_in_a_range maxdist = 4.8 results = dijkstra_shortest_paths_in_a_range(topology, 0, distance, maxdist) results.sort(key=lambda x:x[0]) print 'dijkstra_shortest_paths_in_a_range' print results for nid, parent, dist in results: print nid, parent, dist idx = max([i for i, val in enumerate(resdists) if val <= maxdist]) assert [p for i,p,d in results] == resparents[:idx+1] assert [d for i,p,d in results] == resdists[:idx+1]
def test_dijkstra_shortest_paths_in_a_range2(): from openalea.plantgl.all import dijkstra_shortest_paths_in_a_range maxdist = 4.8 results = dijkstra_shortest_paths_in_a_range(topology, 0, distance, maxdist) results.sort(key=lambda x:x[0]) print('dijkstra_shortest_paths_in_a_range') print(results) for nid, parent, dist in results: print(nid, parent, dist) idx = max([i for i, val in enumerate(resdists) if val <= maxdist]) assert [p for i,p,d in results] == resparents[:idx+1] assert [d for i,p,d in results] == resdists[:idx+1]