use of com.carrotsearch.hppc.IntArrayList in project graphhopper by graphhopper.
the class PrepareRoutingSubnetworksTest method testKeepLargestNetworks.
@Test
public void testKeepLargestNetworks() {
GraphHopperStorage g = createSubnetworkTestStorage();
PrepEdgeFilter filter = new PrepEdgeFilter(carFlagEncoder);
PrepareRoutingSubnetworks instance = new PrepareRoutingSubnetworks(g, Collections.singletonList(carFlagEncoder));
List<IntArrayList> components = instance.findSubnetworks(filter);
assertEquals(3, components.size());
int removedEdges = instance.keepLargeNetworks(filter, components);
assertEquals(8, removedEdges);
instance.markNodesRemovedIfUnreachable();
g.optimize();
assertEquals(8, g.getNodes());
assertEquals(Arrays.<String>asList(), GHUtility.getProblems(g));
components = instance.findSubnetworks(filter);
assertEquals(1, components.size());
}
use of com.carrotsearch.hppc.IntArrayList in project graphhopper by graphhopper.
the class PrepareRoutingSubnetworksTest method testTarjan.
@Test
public void testTarjan() {
GraphHopperStorage g = createSubnetworkTestStorage();
// Requires a single vehicle type, otherwise we throw.
final EdgeFilter filter = new DefaultEdgeFilter(carFlagEncoder, false, true);
TarjansSCCAlgorithm tarjan = new TarjansSCCAlgorithm(g, filter, false);
List<IntArrayList> components = tarjan.findComponents();
assertEquals(4, components.size());
assertEquals(IntArrayList.from(13, 5, 3, 7, 0), components.get(0));
assertEquals(IntArrayList.from(2, 4, 12, 11, 8, 1), components.get(1));
assertEquals(IntArrayList.from(10, 14, 6), components.get(2));
assertEquals(IntArrayList.from(15, 9), components.get(3));
}
Aggregations