@Override protected boolean isCounted(final Edge edge) { return TunnelTag.isTunnel(edge); }
/** * Checks if an {@link Edge} has values that indicate it is crossable by another edge. * * @param edge * {@link Edge} to be checked * @return true if it is a bridge or tunnel, or has a layer tag */ private boolean ignoreBridgeTunnelCrossings(final Edge edge) { return Validators.hasValuesFor(edge, LayerTag.class) || BridgeTag.isBridge(edge) || TunnelTag.isTunnel(edge); }
SurfaceTag.get(edge9).orElseThrow(CoreException.supplier("No tag"))); Assert.assertFalse(BridgeTag.isBridge(edge9)); Assert.assertFalse(TunnelTag.isTunnel(edge9)); Assert.assertEquals(3, (int) LanesTag.numberOfLanes(edge9) .orElseThrow(CoreException.supplier("Should have 3 lanes!"))); SurfaceTag.get(edgeMinus9).orElseThrow(CoreException.supplier("No tag"))); Assert.assertFalse(BridgeTag.isBridge(edgeMinus9)); Assert.assertFalse(TunnelTag.isTunnel(edgeMinus9)); Assert.assertFalse(MaxSpeedTag.get(edgeMinus9).isPresent()); Assert.assertFalse(LanesTag.numberOfLanes(edgeMinus9).isPresent()); Assert.assertFalse(SurfaceTag.get(edge98).isPresent()); Assert.assertTrue(BridgeTag.isBridge(edge98)); Assert.assertFalse(TunnelTag.isTunnel(edge98)); Assert.assertEquals(Speed.kilometersPerHour(100), MaxSpeedTag.get(edge98) .orElseThrow(CoreException.supplier("Should have maxspeed"))); Assert.assertFalse(SurfaceTag.get(edge987).isPresent()); Assert.assertFalse(BridgeTag.isBridge(edge987)); Assert.assertTrue(TunnelTag.isTunnel(edge987)); Assert.assertEquals(Speed.knots(50).asKilometersPerHour(), MaxSpeedTag.get(edge987) .orElseThrow(CoreException.supplier("Should have maxspeed")).asKilometersPerHour(),