public static Network createNetwork() { return new NetworkImpl(); }
@Override public Network getEmptyTestNetwork() { return new NetworkImpl(); }
public static Network createNetwork(NetworkConfigGroup networkConfigGroup) { Network network = new NetworkImpl(); if (networkConfigGroup.isTimeVariantNetwork()) { network.getFactory().setLinkFactory(new VariableIntervalTimeVariantLinkFactory()); } return network; }
Network network = new NetworkImpl(); Node n1 = NetworkUtils.createAndAddNode(network, Id.create(1, Node.class), new Coord((double) 0, (double) 0)); Node n2 = NetworkUtils.createAndAddNode(network, Id.create(2, Node.class), new Coord((double) 1000, (double) 0));
@Test public void testAddNode_existingId() { Network network = new NetworkImpl(); Node node1 = NetworkUtils.createNode(Id.create(1, Node.class), new Coord((double) 0, (double) 0)); Node node2 = NetworkUtils.createNode(Id.create(2, Node.class), new Coord((double) 1000, (double) 0)); Node node3 = NetworkUtils.createNode(Id.create(3, Node.class), new Coord((double) 2000, (double) 500)); Node node1b = NetworkUtils.createNode(Id.create(1, Node.class), new Coord((double) 2000, (double) 0)); network.addNode(node1); network.addNode(node2); Assert.assertEquals(2, network.getNodes().size()); try { network.addNode(node1b); Assert.fail("missing exception. Should not be able to add different node with existing id."); } catch (IllegalArgumentException e) { log.info("catched expected exception.", e); } Assert.assertEquals(2, network.getNodes().size()); network.addNode(node1); // adding the same node again should just be ignored Assert.assertEquals(2, network.getNodes().size()); network.addNode(node3); Assert.assertEquals(3, network.getNodes().size()); }
/** * Tests if the default values of a network instance are the same as the defaults specified in the network_v1.dtd */ @Test public void testDefaultValues(){ Network net = new NetworkImpl(); Assert.assertEquals(7.5, net.getEffectiveCellSize(), 0.0); Assert.assertEquals(3.75, net.getEffectiveLaneWidth(), 0.0); Assert.assertEquals(3600.0, net.getCapacityPeriod(), 0.0); Node node1 = NetworkUtils.createNode(Id.create(1, Node.class), new Coord((double) 0, (double) 0)); Node node2 = NetworkUtils.createNode(Id.create(2, Node.class), new Coord((double) 1000, (double) 0)); net.addNode(node1); net.addNode(node2); final NetworkFactory nf = net.getFactory(); Gbl.assertNotNull(nf); Link link = nf.createLink(Id.create(1, Link.class), node1, node2); Assert.assertEquals(1, link.getAllowedModes().size()); Assert.assertEquals("car", link.getAllowedModes().iterator().next()); }
/** * MATSIM-278, 10jun2015: adding a node if quadtree only contained one node * * @author mrieser / Senozon AG */ @Test public void testAddNode_singleNodeFirstOnly() { Network network = new NetworkImpl(); Node node1 = NetworkUtils.createNode(Id.create(1, Node.class), new Coord((double) 500, (double) 400)); Node node2 = NetworkUtils.createNode(Id.create(2, Node.class), new Coord((double) 600, (double) 500)); network.addNode(node1); Assert.assertEquals(1, network.getNodes().size()); Node n = NetworkUtils.getNearestNode(network,new Coord((double) 550, (double) 450)); Assert.assertEquals(node1, n); network.addNode(node2); Assert.assertEquals(2, network.getNodes().size()); n = NetworkUtils.getNearestNode(network,new Coord((double) 590, (double) 490)); Assert.assertEquals(node2, n); }
/** * MATSIM-278, 13jun2015: adding a node if quadtree is empty * * @author droeder / Senozon Deutschland GmbH */ @Test public void testAddTwoNodes_initializedEmptyQuadtree() { Network network = new NetworkImpl(); Node node1 = NetworkUtils.createNode(Id.create(1, Node.class), new Coord((double) 500, (double) 400)); Node node2 = NetworkUtils.createNode(Id.create(2, Node.class), new Coord((double) 600, (double) 500)); Node n = NetworkUtils.getNearestNode(network,new Coord((double) 550, (double) 450)); Assert.assertNull(n); network.addNode(node1); Assert.assertEquals(1, network.getNodes().size()); n = NetworkUtils.getNearestNode(network,new Coord((double) 550, (double) 450)); Assert.assertEquals(node1, n); network.addNode(node2); Assert.assertEquals(2, network.getNodes().size()); n = NetworkUtils.getNearestNode(network,new Coord((double) 590, (double) 490)); Assert.assertEquals(node2, n); }
Network network = new NetworkImpl(); Node node1 = NetworkUtils.createNode(Id.create(1, Node.class), new Coord((double) 0, (double) 0)); Node node2 = NetworkUtils.createNode(Id.create(2, Node.class), new Coord((double) 1000, (double) 0));
@Test public void testSetAttributes() { Network network = new NetworkImpl(); network.setCapacityPeriod(3600.0); Node node1 = NetworkUtils.createAndAddNode(network, Id.create(1, Node.class), new Coord((double) 0, (double) 0)); Node node2 = NetworkUtils.createAndAddNode(network, Id.create(2, Node.class), new Coord((double) 50, (double) 50)); final Node fromNode = node1; final Node toNode = node2; Link link1 = (Link) NetworkUtils.createAndAddLink(network,Id.create(1, Link.class), fromNode, toNode, 500.0, 10.0, 1000.0, 1.0 ); Assert.assertEquals("wrong freespeed traveltime.", 50.0, NetworkUtils.getFreespeedTravelTime(link1), EPSILON); link1.setLength(1000.0); Assert.assertEquals("wrong freespeed traveltime.", 100.0, NetworkUtils.getFreespeedTravelTime(link1), EPSILON); link1.setFreespeed(20.0); Assert.assertEquals("wrong freespeed traveltime.", 50.0, NetworkUtils.getFreespeedTravelTime(link1), EPSILON); }
@Test public void testAddLink_alsoInQuadTrees() { Network network = new NetworkImpl(); Node node1 = NetworkUtils.createNode(Id.create(1, Node.class), new Coord(100, 100)); Node node2 = NetworkUtils.createNode(Id.create(2, Node.class), new Coord(1000, 200)); Node node3 = NetworkUtils.createNode(Id.create(3, Node.class), new Coord(500, 700)); network.addNode(node1); network.addNode(node2); network.addNode(node3); Link link1 = NetworkUtils.createLink(Id.create(1, Link.class), node1, node2, network, 800, 13.4, 2000, 1); Link link2 = NetworkUtils.createLink(Id.create(2, Link.class), node2, node3, network, 800, 13.4, 2000, 1); Link link3 = NetworkUtils.createLink(Id.create(3, Link.class), node3, node1, network, 800, 13.4, 2000, 1); // do not yet add link1 network.addLink(link2); network.addLink(link3); Assert.assertEquals(2, network.getLinks().size()); Assert.assertEquals(link3, NetworkUtils.getNearestLink(network, new Coord(300, 200))); Assert.assertEquals(link3, NetworkUtils.getNearestLinkExactly(network, new Coord(300, 200))); // this will force the LinkQuadTree to be built network.addLink(link1); Assert.assertEquals(3, network.getLinks().size()); // check that the quad trees were correctly updated with the new link Assert.assertEquals(link1, NetworkUtils.getNearestLink(network, new Coord(300, 200))); Assert.assertEquals(link1, NetworkUtils.getNearestLinkExactly(network, new Coord(300, 200))); // this will force the LinkQuadTree to be built }
@Test public void testAddLink_intoEmptyQuadTree() { Network network = new NetworkImpl(); Assert.assertEquals(0, network.getLinks().size()); Assert.assertNull(NetworkUtils.getNearestLink(network, new Coord(300, 200))); // this will force the node QuadTree to be built Assert.assertNull(NetworkUtils.getNearestLinkExactly(network, new Coord(300, 200))); // this will force the LinkQuadTree to be built Node node1 = NetworkUtils.createNode(Id.create(1, Node.class), new Coord(100, 100)); Node node2 = NetworkUtils.createNode(Id.create(2, Node.class), new Coord(1000, 200)); Node node3 = NetworkUtils.createNode(Id.create(3, Node.class), new Coord(500, 700)); network.addNode(node1); network.addNode(node2); network.addNode(node3); Link link1 = NetworkUtils.createLink(Id.create(1, Link.class), node1, node2, network, 800, 13.4, 2000, 1); Link link2 = NetworkUtils.createLink(Id.create(2, Link.class), node2, node3, network, 800, 13.4, 2000, 1); Link link3 = NetworkUtils.createLink(Id.create(3, Link.class), node3, node1, network, 800, 13.4, 2000, 1); network.addLink(link1); network.addLink(link2); network.addLink(link3); Assert.assertEquals(3, network.getLinks().size()); Assert.assertEquals(link1, NetworkUtils.getNearestLink(network, new Coord(300, 200))); Assert.assertEquals(link1, NetworkUtils.getNearestLinkExactly(network, new Coord(300, 200))); // this will force the LinkQuadTree to be built } }
@Test public void testRemoveLink_alsoInQuadTrees() { Network network = new NetworkImpl(); Node node1 = NetworkUtils.createNode(Id.create(1, Node.class), new Coord(100, 100)); Node node2 = NetworkUtils.createNode(Id.create(2, Node.class), new Coord(1000, 200)); Node node3 = NetworkUtils.createNode(Id.create(3, Node.class), new Coord(500, 700)); network.addNode(node1); network.addNode(node2); network.addNode(node3); Link link1 = NetworkUtils.createLink(Id.create(1, Link.class), node1, node2, network, 800, 13.4, 2000, 1); Link link2 = NetworkUtils.createLink(Id.create(2, Link.class), node2, node3, network, 800, 13.4, 2000, 1); Link link3 = NetworkUtils.createLink(Id.create(3, Link.class), node3, node1, network, 800, 13.4, 2000, 1); network.addLink(link1); network.addLink(link2); network.addLink(link3); Assert.assertEquals(3, network.getLinks().size()); Assert.assertEquals(link1, NetworkUtils.getNearestLink(network, new Coord(300, 200))); Assert.assertEquals(link1, NetworkUtils.getNearestLinkExactly(network, new Coord(300, 200))); network.removeLink(link1.getId()); Assert.assertEquals(2, network.getLinks().size()); Assert.assertEquals(link3, NetworkUtils.getNearestLink(network, new Coord(300, 200))); Assert.assertEquals(link3, NetworkUtils.getNearestLinkExactly(network, new Coord(300, 200))); network.removeLink(link3.getId()); Assert.assertEquals(1, network.getLinks().size()); Assert.assertEquals(link2, NetworkUtils.getNearestLinkExactly(network, new Coord(300, 200))); network.removeLink(link2.getId()); Assert.assertEquals(0, network.getLinks().size()); Assert.assertNull(NetworkUtils.getNearestLink(network, new Coord(300, 200))); Assert.assertNull(NetworkUtils.getNearestLinkExactly(network, new Coord(300, 200))); }
final Network network = new NetworkImpl(); Node node1 = NetworkUtils.createAndAddNode(network, Id.create("1", Node.class), new Coord((double) 0, (double) 0)); Node node2 = NetworkUtils.createAndAddNode(network, Id.create("2", Node.class), new Coord((double) 0, (double) 1000));