@Override
    public void handleWayTags(int edgeId, EdgeIntAccess edgeIntAccess, ReaderWay way, IntsRef relationFlags) {
        String highway = way.getTag("highway");
        String vehicle = way.getTag("vehicle", "");
        boolean notIntended = !way.hasTag("bicycle", INTENDED) &&
                (GET_OFF_BIKE.contains(highway)
                        || way.hasTag("railway", "platform")
                        || !"cycleway".equals(highway) && way.hasTag("vehicle", "no")
                        || vehicle.contains("forestry")
                        || vehicle.contains("agricultural")
                        || "path".equals(highway) && way.hasTag("foot", "designated") && !way.hasTag("segregated", "yes"));
        if ("steps".equals(highway) || way.hasTag("bicycle", "dismount") || notIntended) {
            getOffBikeEnc.setBool(false, edgeId, edgeIntAccess, true);
            getOffBikeEnc.setBool(true, edgeId, edgeIntAccess, true);
        }
        boolean fwd = bikeAccessEnc.getBool(false, edgeId, edgeIntAccess);
        boolean bwd = bikeAccessEnc.getBool(true, edgeId, edgeIntAccess);
        // get off bike for reverse oneways
        if (fwd != bwd) {
            if (!fwd) getOffBikeEnc.setBool(false, edgeId, edgeIntAccess, true);
            if (!bwd) getOffBikeEnc.setBool(true, edgeId, edgeIntAccess, true);
        }
    }
@Test
    public void testOneway() {
        ReaderWay way = new ReaderWay(1);
        way.setTag("highway", "primary");
        way.setTag("oneway", "yes");

        EdgeIntAccess edgeIntAccess = new ArrayEdgeIntAccess(1);
        int edgeId = 0;
        IntsRef rel = new IntsRef(1);
        accessParser.handleWayTags(edgeId, edgeIntAccess, way, new IntsRef(1));
        getOffParser.handleWayTags(edgeId, edgeIntAccess, way, new IntsRef(1));

        assertFalse(offBikeEnc.getBool(false, edgeId, edgeIntAccess));
        assertTrue(offBikeEnc.getBool(true, edgeId, edgeIntAccess));
    }