@Test
public void testRemoveSubnetworkWhenMultipleVehicles() {
FlagEncoder carEncoder = new CarFlagEncoder();
BikeFlagEncoder bikeEncoder = new BikeFlagEncoder();
EncodingManager em2 = new EncodingManager(carEncoder, bikeEncoder);
GraphHopperStorage g = createSubnetworkTestStorage2(em2);
GHUtility.getEdge(g, 3, 4).setFlags(carEncoder.setProperties(10, false, false)
| bikeEncoder.setProperties(5, true, true));
PrepareRoutingSubnetworks instance = new PrepareRoutingSubnetworks(g, em2.fetchEdgeEncoders());
instance.setMinNetworkSize(5);
instance.doWork();
g.optimize();
assertEquals(9, g.getNodes());
EdgeExplorer carExplorer = g.createEdgeExplorer(DefaultEdgeFilter.allEdges(carEncoder));
assertEquals(GHUtility.asSet(7, 2, 1), GHUtility.getNeighbors(carExplorer.setBaseNode(3)));
EdgeExplorer bikeExplorer = g.createEdgeExplorer(DefaultEdgeFilter.allEdges(bikeEncoder));
assertEquals(GHUtility.asSet(7, 2, 1, 4), GHUtility.getNeighbors(bikeExplorer.setBaseNode(3)));
GHUtility.getEdge(g, 3, 4).setFlags(carEncoder.setProperties(10, false, false) | bikeEncoder.setProperties(5, false, false));
instance = new PrepareRoutingSubnetworks(g, em2.fetchEdgeEncoders());
instance.setMinNetworkSize(5);
instance.doWork();
g.optimize();
assertEquals(6, g.getNodes());
}