@Test public void testRemoveNodesWithoutLinks() { Fixture f = new Fixture(); Network network = f.scenario.getNetwork(); network.addNode(network.getFactory().createNode(f.nodeIds[10], new Coord((double) 300, (double) 300))); MultimodalNetworkCleaner cleaner = new MultimodalNetworkCleaner(network); Assert.assertEquals("wrong number of links.", 8, network.getLinks().size()); Assert.assertEquals("wrong number of nodes.", 7, network.getNodes().size()); cleaner.run(createHashSet(TransportMode.walk)); Assert.assertEquals("wrong number of links after cleaning.", 8, network.getLinks().size()); Assert.assertEquals("empty node should not be removed by cleaning.", 7, network.getNodes().size()); cleaner.removeNodesWithoutLinks(); Assert.assertEquals("wrong number of links after cleaning.", 8, network.getLinks().size()); Assert.assertEquals("wrong number of nodes after cleaning.", 6, network.getNodes().size()); }
@Test public void testRun_singleMode() { Fixture f = new Fixture(); Network network = f.scenario.getNetwork(); MultimodalNetworkCleaner cleaner = new MultimodalNetworkCleaner(network); cleaner.run(createHashSet(TransportMode.car)); Assert.assertEquals("wrong number of links.", 8, network.getLinks().size()); Assert.assertEquals("wrong number of nodes.", 6, network.getNodes().size()); Assert.assertEquals(f.modesC, network.getLinks().get(f.linkIds[1]).getAllowedModes()); Assert.assertEquals(f.modesW, network.getLinks().get(f.linkIds[2]).getAllowedModes()); Assert.assertEquals(f.modesC, network.getLinks().get(f.linkIds[3]).getAllowedModes()); Assert.assertEquals(f.modesC, network.getLinks().get(f.linkIds[4]).getAllowedModes()); Assert.assertEquals(f.modesW, network.getLinks().get(f.linkIds[5]).getAllowedModes()); Assert.assertEquals(f.modesW, network.getLinks().get(f.linkIds[6]).getAllowedModes()); Assert.assertEquals(f.modesC, network.getLinks().get(f.linkIds[7]).getAllowedModes()); Assert.assertEquals(f.modesW, network.getLinks().get(f.linkIds[8]).getAllowedModes()); }
@Test public void testRun_singleInexistantMode() { Fixture f = new Fixture(); Network network = f.scenario.getNetwork(); MultimodalNetworkCleaner cleaner = new MultimodalNetworkCleaner(network); cleaner.run(createHashSet("other")); Assert.assertEquals("wrong number of links.", 8, network.getLinks().size()); Assert.assertEquals("wrong number of nodes.", 6, network.getNodes().size()); Assert.assertEquals(f.modesC, network.getLinks().get(f.linkIds[1]).getAllowedModes()); Assert.assertEquals(f.modesW, network.getLinks().get(f.linkIds[2]).getAllowedModes()); Assert.assertEquals(f.modesC, network.getLinks().get(f.linkIds[3]).getAllowedModes()); Assert.assertEquals(f.modesC, network.getLinks().get(f.linkIds[4]).getAllowedModes()); Assert.assertEquals(f.modesW, network.getLinks().get(f.linkIds[5]).getAllowedModes()); Assert.assertEquals(f.modesW, network.getLinks().get(f.linkIds[6]).getAllowedModes()); Assert.assertEquals(f.modesC, network.getLinks().get(f.linkIds[7]).getAllowedModes()); Assert.assertEquals(f.modesW, network.getLinks().get(f.linkIds[8]).getAllowedModes()); }
@Test public void testRun_multipleModes() { Fixture f = new MultimodeFixture(); Network network = f.scenario.getNetwork(); MultimodalNetworkCleaner cleaner = new MultimodalNetworkCleaner(network); cleaner.run(createHashSet(TransportMode.car, TransportMode.walk)); Assert.assertEquals("wrong number of links.", 12, network.getLinks().size()); Assert.assertEquals("wrong number of nodes.", 9, network.getNodes().size()); Assert.assertEquals(f.modesC, network.getLinks().get(f.linkIds[1]).getAllowedModes()); Assert.assertEquals(f.modesW, network.getLinks().get(f.linkIds[2]).getAllowedModes()); Assert.assertEquals(f.modesC, network.getLinks().get(f.linkIds[3]).getAllowedModes()); Assert.assertEquals(f.modesC, network.getLinks().get(f.linkIds[4]).getAllowedModes()); Assert.assertEquals(f.modesW, network.getLinks().get(f.linkIds[5]).getAllowedModes()); Assert.assertEquals(f.modesW, network.getLinks().get(f.linkIds[6]).getAllowedModes()); Assert.assertEquals(f.modesC, network.getLinks().get(f.linkIds[7]).getAllowedModes()); Assert.assertEquals(f.modesW, network.getLinks().get(f.linkIds[8]).getAllowedModes()); Assert.assertEquals(f.modesC, network.getLinks().get(f.linkIds[9]).getAllowedModes()); Assert.assertEquals(f.modesW, network.getLinks().get(f.linkIds[10]).getAllowedModes()); Assert.assertEquals(f.modesC, network.getLinks().get(f.linkIds[11]).getAllowedModes()); Assert.assertEquals(f.modesW, network.getLinks().get(f.linkIds[12]).getAllowedModes()); }
Assert.assertEquals("wrong number of nodes.", 6, network.getNodes().size()); cleaner.run(createHashSet(TransportMode.car)); Assert.assertEquals("wrong number of links.", 8, network.getLinks().size()); Assert.assertEquals("wrong number of nodes.", 6, network.getNodes().size()); Assert.assertEquals("wrong number of nodes.", 6, network.getNodes().size()); cleaner.run(createHashSet(TransportMode.walk)); Assert.assertEquals("wrong number of links.", 8, network.getLinks().size()); Assert.assertEquals("wrong number of nodes.", 6, network.getNodes().size());
cleaner.run(createHashSet(TransportMode.car)); Assert.assertEquals("wrong number of links.", 9, network.getLinks().size()); Assert.assertEquals("wrong number of nodes.", 6, network.getNodes().size()); Assert.assertNull(network.getLinks().get(f.linkIds[11])); cleaner.run(createHashSet(TransportMode.walk)); Assert.assertEquals("wrong number of links.", 8, network.getLinks().size()); Assert.assertEquals("wrong number of nodes.", 6, network.getNodes().size());
Assert.assertEquals("wrong number of nodes.", 8, network.getNodes().size()); cleaner.run(createHashSet(TransportMode.car)); Assert.assertEquals("wrong number of links.", 9, network.getLinks().size()); Assert.assertEquals("wrong number of nodes.", 7, network.getNodes().size()); Assert.assertEquals("wrong number of nodes.", 7, network.getNodes().size()); cleaner.run(createHashSet(TransportMode.walk)); Assert.assertEquals("wrong number of links.", 8, network.getLinks().size()); Assert.assertEquals("wrong number of nodes.", 6, network.getNodes().size());
@Test public void testRun_multipleModes_doubleSink() { Fixture f = new MultimodeFixture(); Network network = f.scenario.getNetwork(); Node node2 = network.getNodes().get(f.nodeIds[2]); Node node3 = network.getNodes().get(f.nodeIds[3]); Node node10 = network.getFactory().createNode(f.nodeIds[10], new Coord((double) 200, (double) 200)); network.addNode(node10); network.addLink(network.getFactory().createLink(f.linkIds[18], node2, node10)); network.addLink(network.getFactory().createLink(f.linkIds[19], node3, node10)); Assert.assertEquals("wrong number of links.", 14, network.getLinks().size()); Assert.assertEquals("wrong number of nodes.", 10, network.getNodes().size()); MultimodalNetworkCleaner cleaner = new MultimodalNetworkCleaner(network); cleaner.run(createHashSet(TransportMode.car, TransportMode.walk)); Assert.assertEquals("wrong number of links.", 12, network.getLinks().size()); Assert.assertEquals("wrong number of nodes.", 9, network.getNodes().size()); Assert.assertEquals(f.modesC, network.getLinks().get(f.linkIds[1]).getAllowedModes()); Assert.assertEquals(f.modesW, network.getLinks().get(f.linkIds[2]).getAllowedModes()); Assert.assertEquals(f.modesC, network.getLinks().get(f.linkIds[3]).getAllowedModes()); Assert.assertEquals(f.modesC, network.getLinks().get(f.linkIds[4]).getAllowedModes()); Assert.assertEquals(f.modesW, network.getLinks().get(f.linkIds[5]).getAllowedModes()); Assert.assertEquals(f.modesW, network.getLinks().get(f.linkIds[6]).getAllowedModes()); Assert.assertEquals(f.modesC, network.getLinks().get(f.linkIds[7]).getAllowedModes()); Assert.assertEquals(f.modesW, network.getLinks().get(f.linkIds[8]).getAllowedModes()); Assert.assertEquals(f.modesC, network.getLinks().get(f.linkIds[9]).getAllowedModes()); Assert.assertEquals(f.modesW, network.getLinks().get(f.linkIds[10]).getAllowedModes()); Assert.assertEquals(f.modesC, network.getLinks().get(f.linkIds[11]).getAllowedModes()); Assert.assertEquals(f.modesW, network.getLinks().get(f.linkIds[12]).getAllowedModes()); }
@Test public void testRun_multipleModes_doubleSource() { Fixture f = new MultimodeFixture(); Network network = f.scenario.getNetwork(); Node node2 = network.getNodes().get(f.nodeIds[2]); Node node3 = network.getNodes().get(f.nodeIds[3]); Node node10 = network.getFactory().createNode(f.nodeIds[10], new Coord((double) 200, (double) 200)); network.addNode(node10); network.addLink(network.getFactory().createLink(f.linkIds[18], node10, node2)); network.addLink(network.getFactory().createLink(f.linkIds[19], node10, node3)); Assert.assertEquals("wrong number of links.", 14, network.getLinks().size()); Assert.assertEquals("wrong number of nodes.", 10, network.getNodes().size()); MultimodalNetworkCleaner cleaner = new MultimodalNetworkCleaner(network); cleaner.run(createHashSet(TransportMode.car, TransportMode.walk)); Assert.assertEquals("wrong number of links.", 12, network.getLinks().size()); Assert.assertEquals("wrong number of nodes.", 9, network.getNodes().size()); Assert.assertEquals(f.modesC, network.getLinks().get(f.linkIds[1]).getAllowedModes()); Assert.assertEquals(f.modesW, network.getLinks().get(f.linkIds[2]).getAllowedModes()); Assert.assertEquals(f.modesC, network.getLinks().get(f.linkIds[3]).getAllowedModes()); Assert.assertEquals(f.modesC, network.getLinks().get(f.linkIds[4]).getAllowedModes()); Assert.assertEquals(f.modesW, network.getLinks().get(f.linkIds[5]).getAllowedModes()); Assert.assertEquals(f.modesW, network.getLinks().get(f.linkIds[6]).getAllowedModes()); Assert.assertEquals(f.modesC, network.getLinks().get(f.linkIds[7]).getAllowedModes()); Assert.assertEquals(f.modesW, network.getLinks().get(f.linkIds[8]).getAllowedModes()); Assert.assertEquals(f.modesC, network.getLinks().get(f.linkIds[9]).getAllowedModes()); Assert.assertEquals(f.modesW, network.getLinks().get(f.linkIds[10]).getAllowedModes()); Assert.assertEquals(f.modesC, network.getLinks().get(f.linkIds[11]).getAllowedModes()); Assert.assertEquals(f.modesW, network.getLinks().get(f.linkIds[12]).getAllowedModes()); }
Assert.assertEquals("wrong number of nodes.", 8, network.getNodes().size()); cleaner.run(createHashSet(TransportMode.walk)); Assert.assertNull(network.getLinks().get(f.linkIds[13])); cleaner.run(createHashSet(TransportMode.car)); Assert.assertEquals("wrong number of links.", 8, network.getLinks().size()); Assert.assertEquals("wrong number of nodes.", 6, network.getNodes().size());
Assert.assertEquals("wrong number of nodes.", 8, network.getNodes().size()); cleaner.run(createHashSet(TransportMode.car)); Assert.assertEquals("wrong number of links.", 9, network.getLinks().size()); Assert.assertEquals("wrong number of nodes.", 7, network.getNodes().size()); Assert.assertEquals("wrong number of nodes.", 7, network.getNodes().size()); cleaner.run(createHashSet(TransportMode.walk)); Assert.assertEquals("wrong number of links.", 8, network.getLinks().size()); Assert.assertEquals("wrong number of nodes.", 6, network.getNodes().size());
Assert.assertEquals("wrong number of nodes.", 8, network.getNodes().size()); cleaner.run(createHashSet(TransportMode.walk)); Assert.assertNull(network.getLinks().get(f.linkIds[13])); cleaner.run(createHashSet(TransportMode.car)); Assert.assertEquals("wrong number of links.", 8, network.getLinks().size()); Assert.assertEquals("wrong number of nodes.", 6, network.getNodes().size());