@Test
public void testFilter_AdditionalModes() {
final Fixture f = new Fixture();
TransportModeNetworkFilter filter = new TransportModeNetworkFilter(f.scenario.getNetwork());
Network subNetwork = ScenarioUtils.createScenario(ConfigUtils.createConfig()).getNetwork();
filter.filter(subNetwork, createHashSet(TransportMode.walk, TransportMode.pt, "motorbike"));
Assert.assertEquals("wrong number of nodes.", 5, subNetwork.getNodes().size());
Assert.assertEquals("wrong number of links", 4, subNetwork.getLinks().size());
Assert.assertTrue(subNetwork.getLinks().containsKey(f.linkIds[13]));
Assert.assertTrue(subNetwork.getLinks().containsKey(f.linkIds[14]));
Assert.assertTrue(subNetwork.getLinks().containsKey(f.linkIds[15]));
Assert.assertTrue(subNetwork.getLinks().containsKey(f.linkIds[16]));
Assert.assertTrue(subNetwork.getNodes().containsKey(f.nodeIds[1]));
Assert.assertTrue(subNetwork.getNodes().containsKey(f.nodeIds[4]));
Assert.assertTrue(subNetwork.getNodes().containsKey(f.nodeIds[7]));
Assert.assertTrue(subNetwork.getNodes().containsKey(f.nodeIds[10]));
Assert.assertTrue(subNetwork.getNodes().containsKey(f.nodeIds[13]));
Assert.assertEquals(f.modesW, subNetwork.getLinks().get(f.linkIds[13]).getAllowedModes());
Assert.assertEquals(f.modesW, subNetwork.getLinks().get(f.linkIds[14]).getAllowedModes());
Assert.assertEquals(f.modesW, subNetwork.getLinks().get(f.linkIds[15]).getAllowedModes());
Assert.assertEquals(f.modesW, subNetwork.getLinks().get(f.linkIds[16]).getAllowedModes());
Assert.assertEquals(1, subNetwork.getNodes().get(f.nodeIds[4]).getInLinks().size());
Assert.assertNotNull(subNetwork.getNodes().get(f.nodeIds[4]).getInLinks().get(f.linkIds[13]));
Assert.assertEquals(1, subNetwork.getNodes().get(f.nodeIds[4]).getOutLinks().size());
Assert.assertNotNull(subNetwork.getNodes().get(f.nodeIds[4]).getOutLinks().get(f.linkIds[14]));
}