Path { public void appendNode(HierarchyMapNode node) { this.validLength=false; this.validTime=false; this.reconstruted=false; pathInHierarchyMapGraph.add(node.getUID()); }  void appendNode(HierarchyMapNode node); void appendNode(int uid); void setLength(int length); void setTime(long time); void setPathAsReconstructed(); long getPathWeight(HierarchyMapGraph hGraph); int getPathLength(); long getPathTime(); ArrayList<Integer> getPathNodeIDs(); int size(); void reconstructPath(HierarchyMapGraph hGraph); int getStartNodeID(); int getEndNodeID(); String toString();  }
@Test public void testGetPathInOriginalGraphViaNodes() { MapGraph graph = null; try { graph = new MapGraph(90, 90, 0, 0); graph.insertNode(1, new GPSCoordinate(10,10)); graph.insertNode(2, new GPSCoordinate(10,25)); graph.insertNode(3, new GPSCoordinate(10,40)); graph.insertNode(4, new GPSCoordinate(20,65)); graph.insertNode(5, new GPSCoordinate(30,40)); graph.insertNode(6, new GPSCoordinate(30,25)); graph.insertNode(7, new GPSCoordinate(30,10)); graph.insertEdge(1, 2, 1, 6, StreetType.MOTORWAY); graph.insertEdge(1, 6, 2, 6, StreetType.MOTORWAY); graph.insertEdge(1, 7, 3, 6, StreetType.MOTORWAY); graph.insertEdge(2, 1, 4, 6, StreetType.MOTORWAY); graph.insertEdge(2, 7, 5, 6, StreetType.MOTORWAY); graph.insertEdge(2, 6, 6, 6, StreetType.MOTORWAY); graph.insertEdge(2, 5, 7, 6, StreetType.MOTORWAY); graph.insertEdge(2, 3, 8, 6, StreetType.MOTORWAY); graph.insertEdge(3, 2, 9, 6, StreetType.MOTORWAY); graph.insertEdge(3, 6, 10, 6, StreetType.MOTORWAY); graph.insertEdge(3, 5, 11, 6, StreetType.MOTORWAY); graph.insertEdge(3, 4, 12, 6, StreetType.MOTORWAY); graph.insertEdge(4, 3, 13, 6, StreetType.MOTORWAY); graph.insertEdge(4, 5, 14, 6, StreetType.MOTORWAY); graph.insertEdge(5, 4, 15, 6, StreetType.MOTORWAY); graph.insertEdge(5, 3, 16, 6, StreetType.MOTORWAY); graph.insertEdge(5, 2, 17, 6, StreetType.MOTORWAY); graph.insertEdge(5, 6, 18, 6, StreetType.MOTORWAY); graph.insertEdge(6, 5, 19, 6, StreetType.MOTORWAY); graph.insertEdge(6, 3, 20, 6, StreetType.MOTORWAY); graph.insertEdge(6, 2, 21, 6, StreetType.MOTORWAY); graph.insertEdge(6, 1, 22, 6, StreetType.MOTORWAY); graph.insertEdge(6, 7, 23, 6, StreetType.MOTORWAY); graph.insertEdge(7, 1, 24, 6, StreetType.MOTORWAY); graph.insertEdge(7, 2, 25, 6, StreetType.MOTORWAY); graph.insertEdge(7, 6, 26, 6, StreetType.MOTORWAY); } catch (Exception e) { e.printStackTrace(); } HierarchyMapGraph hGraph = new HierarchyMapGraph(); try { hGraph = graph.exportToHierachyGraph(hGraph); } catch (Exception e) { e.printStackTrace(); } hGraph.insertEdge(1, 3, 1, 12, StreetType.MOTORWAY, (byte)1); hGraph.insertEdge(3, 4, 12, 6, StreetType.MOTORWAY, (byte)1); hGraph.insertEdge(1, 4, 1, 18, StreetType.MOTORWAY, (byte)2); Path way = new Path(); way.appendNode(hGraph.getNode(1)); way.appendNode(hGraph.getNode(4)); int iter = 1; }