destinationNodes.add(initialToNode); ImaginaryNode destinationNode = forwardMultiNodeDijkstra.createImaginaryNode(destinationNodes);
public void testOnlyFromToSameNode(boolean fastRouter) { Fixture f = new Fixture(); TestTimeCost tc = new TestTimeCost(); tc.setData(Id.create(1, Link.class), 2.0, 2.0); tc.setData(Id.create(2, Link.class), 1.0, 1.0); tc.setData(Id.create(3, Link.class), 3.0, 3.0); tc.setData(Id.create(4, Link.class), 2.0, 2.0); tc.setData(Id.create(5, Link.class), 1.0, 1.0); tc.setData(Id.create(6, Link.class), 3.0, 3.0); tc.setData(Id.create(7, Link.class), 4.0, 4.0); MultiNodeDijkstra dijkstra = makeMultiNodeDikstra(f.network, tc, tc, fastRouter); List<InitialNode> fromNodes = new ArrayList<InitialNode>(); List<InitialNode> toNodes = new ArrayList<InitialNode>(); fromNodes.add(new InitialNode(f.network.getNodes().get(Id.create(2, Node.class)), 1.0, 1.0)); toNodes.add(new InitialNode(f.network.getNodes().get(Id.create(2, Node.class)), 3.0, 3.0)); Node fromNode = dijkstra.createImaginaryNode(fromNodes); Node toNode = dijkstra.createImaginaryNode(toNodes); Path p = createPath(dijkstra, fromNode, toNode); Assert.assertNotNull("no path found!", p); Assert.assertEquals(0, p.links.size()); Assert.assertEquals(1, p.nodes.size()); Assert.assertEquals("2", p.nodes.get(0).getId().toString()); }
toNodes.add(new InitialNode(f.network.getNodes().get(Id.create(6, Node.class)), 3.0, 3.0)); Node fromNode = dijkstra.createImaginaryNode(fromNodes); Node toNode = dijkstra.createImaginaryNode(toNodes);
toNodes.add(new InitialNode(f.network.getNodes().get(Id.create(3, Node.class)), 3.0, 3.0)); // cannot be reached! Node fromNode = dijkstra.createImaginaryNode(fromNodes); Node toNode = dijkstra.createImaginaryNode(toNodes);
toNodes.add(new InitialNode(f.network.getNodes().get(Id.create(5, Node.class)), 0.0, 0.0)); Node fromNode = dijkstra.createImaginaryNode(fromNodes); Node toNode = dijkstra.createImaginaryNode(toNodes);
toNodes.add(new InitialNode(f.network.getNodes().get(Id.create(3, Node.class)), 3.0, 3.0)); Node fromNode = dijkstra.createImaginaryNode(fromNodes); Node toNode = dijkstra.createImaginaryNode(toNodes);
toNodes.add(new InitialNode(f.network.getNodes().get(Id.create(5, Node.class)), 1.0, 1.0)); Node fromNode = dijkstra.createImaginaryNode(fromNodes); Node toNode = dijkstra.createImaginaryNode(toNodes);
public void testImpossibleRoute(boolean fastRouter) { Fixture f = new Fixture(); TestTimeCost tc = new TestTimeCost(); tc.setData(Id.create(1, Link.class), 2.0, 2.0); tc.setData(Id.create(2, Link.class), 1.0, 1.0); tc.setData(Id.create(3, Link.class), 3.0, 3.0); tc.setData(Id.create(4, Link.class), 2.0, 2.0); tc.setData(Id.create(5, Link.class), 1.0, 1.0); tc.setData(Id.create(6, Link.class), 3.0, 3.0); tc.setData(Id.create(7, Link.class), 4.0, 4.0); MultiNodeDijkstra dijkstra = makeMultiNodeDikstra(f.network, tc, tc, fastRouter); List<InitialNode> fromNodes = new ArrayList<InitialNode>(); List<InitialNode> toNodes = new ArrayList<InitialNode>(); fromNodes.add(new InitialNode(f.network.getNodes().get(Id.create(1, Node.class)), 1.0, 1.0)); toNodes.add(new InitialNode(f.network.getNodes().get(Id.create(2, Node.class)), 3.0, 3.0)); Node fromNode = dijkstra.createImaginaryNode(fromNodes); Node toNode = dijkstra.createImaginaryNode(toNodes); Path p = createPath(dijkstra, fromNode, toNode); Assert.assertNull("wow, impossible path found!", p); }
toNodes.add(new InitialNode(f.network.getNodes().get(Id.create(6, Node.class)), 3.0, 3.0)); Node fromNode = dijkstra.createImaginaryNode(fromNodes); Node toNode = dijkstra.createImaginaryNode(toNodes);
toNodes.add(new InitialNode(f.network.getNodes().get(Id.create(6, Node.class)), 1.0, 1.0)); Node fromNode = dijkstra.createImaginaryNode(fromNodes); Node toNode = dijkstra.createImaginaryNode(toNodes);
toNodes.add(new InitialNode(f.network.getNodes().get(Id.create(5, Node.class)), 0.0, 0.0)); Node fromNode = dijkstra.createImaginaryNode(fromNodes); Node toNode = dijkstra.createImaginaryNode(toNodes);
public void testInitialValuesCorrection(boolean fastRouter) { Fixture f = new Fixture(); TestTimeCost tc = new TestTimeCost(); tc.setData(Id.create(1, Link.class), 100.0, 200.0); tc.setData(Id.create(2, Link.class), 100.0, 200.0); tc.setData(Id.create(3, Link.class), 100.0, 200.0); tc.setData(Id.create(4, Link.class), 100.0, 200.0); tc.setData(Id.create(5, Link.class), 100.0, 200.0); tc.setData(Id.create(6, Link.class), 100.0, 200.0); tc.setData(Id.create(7, Link.class), 100.0, 200.0); MultiNodeDijkstra dijkstra = makeMultiNodeDikstra(f.network, tc, tc, fastRouter); List<InitialNode> fromNodes = new ArrayList<InitialNode>(); List<InitialNode> toNodes = new ArrayList<InitialNode>(); fromNodes.add(new InitialNode(f.network.getNodes().get(Id.create(1, Node.class)), 10000.0, 10000.0)); toNodes.add(new InitialNode(f.network.getNodes().get(Id.create(6, Node.class)), 20000.0, 20000.0)); Node fromNode = dijkstra.createImaginaryNode(fromNodes); Node toNode = dijkstra.createImaginaryNode(toNodes); Path p = createPath(dijkstra, fromNode, toNode); Assert.assertNotNull(p); Assert.assertEquals(300.0, p.travelTime, 0.0); Assert.assertEquals(600.0, p.travelCost, 0.0); }
toNodes.add(new InitialNode(f.network.getNodes().get(Id.create(6, Node.class)), 1.0, 1.0)); Node fromNode = dijkstra.createImaginaryNode(fromNodes); Node toNode = dijkstra.createImaginaryNode(toNodes);