@Test @Override public void testSacScale() { ReaderWay way = new ReaderWay(1); way.setTag("highway", "service"); way.setTag("sac_scale", "hiking"); assertTrue(encoder.acceptWay(way) > 0); way.setTag("highway", "service"); way.setTag("sac_scale", "mountain_hiking"); assertTrue(encoder.acceptWay(way) > 0); way.setTag("sac_scale", "alpine_hiking"); assertTrue(encoder.acceptWay(way) > 0); way.setTag("sac_scale", "demanding_alpine_hiking"); assertTrue(encoder.acceptWay(way) == 0); }
@Test @Override public void testSacScale() { ReaderWay way = new ReaderWay(1); way.setTag("highway", "path"); way.setTag("sac_scale", "hiking"); // allow assertTrue(encoder.acceptWay(way) > 0); way.setTag("highway", "path"); way.setTag("sac_scale", "mountain_hiking"); // disallow assertEquals(0, encoder.acceptWay(way)); way.setTag("highway", "cycleway"); way.setTag("sac_scale", "hiking"); // allow assertTrue(encoder.acceptWay(way) > 0); way.setTag("highway", "cycleway"); way.setTag("sac_scale", "mountain_hiking"); // disallow questionable combination as too dangerous assertEquals(0, encoder.acceptWay(way)); }
@Test @Override public void testSacScale() { ReaderWay way = new ReaderWay(1); way.setTag("highway", "service"); way.setTag("sac_scale", "mountain_hiking"); // disallow assertEquals(0, encoder.acceptWay(way)); way.setTag("highway", "path"); way.setTag("sac_scale", "hiking"); // disallow assertEquals(0, encoder.acceptWay(way)); way.setTag("highway", "cycleway"); way.setTag("sac_scale", "hiking"); // but allow this as there is no reason for not allowing it assertTrue(encoder.acceptWay(way) > 0); // This looks to be tagging error: way.setTag("highway", "cycleway"); way.setTag("sac_scale", "mountain_hiking"); // we are coutious and disallow this assertEquals(0, encoder.acceptWay(way)); }
@Test public void testWayAcceptance() { ReaderWay way = new ReaderWay(1); way.setTag("highway", "cycleway"); way.setTag("vehicle", "no"); assertTrue(encoder.acceptWay(way) > 0); // Sensless tagging: JOSM does create a warning here. We follow the highway tag: way.setTag("bicycle", "no"); assertTrue(encoder.acceptWay(way) > 0); way.setTag("bicycle", "designated"); assertTrue(encoder.acceptWay(way) > 0); way.clearTags(); way.setTag("highway", "motorway"); assertFalse(encoder.acceptWay(way) > 0); way.setTag("bicycle", "yes"); assertTrue(encoder.acceptWay(way) > 0); way.clearTags(); way.setTag("highway", "residential"); way.setTag("bicycle", "yes"); way.setTag("access", "no"); assertTrue(encoder.acceptWay(way) > 0); // #1122 way.clearTags(); way.setTag("route", "ferry"); way.setTag("bicycle", "yes"); way.setTag("access", "private"); assertTrue(encoder.acceptWay(way) == 0); }
assertFalse(encoder.acceptWay(way) > 0); assertTrue(encoder.acceptWay(way) > 0); assertTrue(encoder.acceptWay(way) > 0); assertFalse(encoder.acceptWay(way) > 0); assertTrue(encoder.acceptWay(way) > 0); assertFalse(encoder.acceptWay(way) > 0); assertTrue(encoder.acceptWay(way) > 0); assertTrue(encoder.acceptWay(way) > 0); assertTrue(encoder.acceptWay(way) > 0); assertTrue(encoder.acceptWay(way) > 0); way.clearTags(); assertTrue(encoder.acceptWay(way) > 0); way.clearTags(); assertTrue(encoder.acceptWay(way) > 0); assertTrue(encoder.acceptWay(way) > 0); assertTrue(encoder.acceptWay(way) > 0);
way.setTag("highway", "secondary"); way.setTag("railway", "rail"); assertTrue(encoder.acceptWay(way) > 0); assertTrue(encoder.acceptWay(way) > 0); way.setTag("railway", "station"); way.setTag("bicycle", "yes"); assertTrue(encoder.acceptWay(way) > 0); assertTrue(encoder.acceptWay(way) == 0); long flags = encoder.handleWayTags(way, encoder.acceptWay(way), 0); assertNotEquals(0, flags); way.setTag("highway", "track"); way.setTag("railway", "platform"); flags = encoder.handleWayTags(way, encoder.acceptWay(way), 0); assertNotEquals(0, flags); way.setTag("railway", "platform"); way.setTag("bicycle", "no"); flags = encoder.handleWayTags(way, encoder.acceptWay(way), 0); assertEquals(0, flags);
ReaderWay way = new ReaderWay(1); way.setTag("highway", "tertiary"); long flags = encoder.handleWayTags(way, encoder.acceptWay(way), 0); assertTrue(encoder.isForward(flags)); assertTrue(encoder.isBackward(flags)); way.setTag("oneway", "yes"); flags = encoder.handleWayTags(way, encoder.acceptWay(way), 0); assertTrue(encoder.isForward(flags)); assertFalse(encoder.isBackward(flags)); way.setTag("highway", "tertiary"); way.setTag("oneway:bicycle", "yes"); flags = encoder.handleWayTags(way, encoder.acceptWay(way), 0); assertTrue(encoder.isForward(flags)); assertFalse(encoder.isBackward(flags)); flags = encoder.handleWayTags(way, encoder.acceptWay(way), 0); assertTrue(encoder.isForward(flags)); assertTrue(encoder.isBackward(flags)); flags = encoder.handleWayTags(way, encoder.acceptWay(way), 0); assertFalse(encoder.isForward(flags)); assertTrue(encoder.isBackward(flags)); flags = encoder.handleWayTags(way, encoder.acceptWay(way), 0); assertFalse(encoder.isForward(flags)); assertTrue(encoder.isBackward(flags)); flags = encoder.handleWayTags(way, encoder.acceptWay(way), 0);
@Test public void testMaxSpeed() { ReaderWay way = new ReaderWay(1); way.setTag("highway", "secondary"); way.setTag("maxspeed", "10"); long allowed = encoder.acceptWay(way); long encoded = encoder.handleWayTags(way, allowed, 0); assertEquals(10, encoder.getSpeed(encoded), 1e-1); assertPriority(VERY_NICE.getValue(), way); way = new ReaderWay(1); way.setTag("highway", "tertiary"); way.setTag("maxspeed", "90"); assertEquals(20, encoder.getSpeed(encoder.setSpeed(0, encoder.applyMaxSpeed(way, 20))), 1e-1); assertPriority(UNCHANGED.getValue(), way); way = new ReaderWay(1); way.setTag("highway", "track"); way.setTag("maxspeed", "90"); assertEquals(20, encoder.getSpeed(encoder.setSpeed(0, encoder.applyMaxSpeed(way, 20))), 1e-1); assertPriority(UNCHANGED.getValue(), way); way = new ReaderWay(1); way.setTag("highway", "residential"); way.setTag("maxspeed", "15"); assertEquals(15, encoder.getSpeed(encoder.setSpeed(0, encoder.applyMaxSpeed(way, 15))), 1.0); allowed = encoder.acceptWay(way); encoded = encoder.handleWayTags(way, allowed, 0); assertEquals(15, encoder.getSpeed(encoded), 1.0); assertPriority(VERY_NICE.getValue(), way); }
way.setTag("junction", "roundabout"); way.setTag("highway", "tertiary"); long flags = encoder.handleWayTags(way, encoder.acceptWay(way), 0); assertTrue(encoder.isBool(flags, FlagEncoder.K_ROUNDABOUT)); way.setTag("junction", "circular"); way.setTag("highway", "tertiary"); flags = encoder.handleWayTags(way, encoder.acceptWay(way), 0); assertTrue(encoder.isBool(flags, FlagEncoder.K_ROUNDABOUT));