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.clearTags();
way.setTag("oneway:bicycle", "yes");
flags = encoder.handleWayTags(way, encoder.acceptWay(way), 0);
assertTrue(encoder.isForward(flags));
assertFalse(encoder.isBackward(flags));
way.clearTags();
assertTrue(encoder.isForward(flags));
assertTrue(encoder.isBackward(flags));
way.clearTags();
way.setTag("vehicle:forward", "no");
flags = encoder.handleWayTags(way, encoder.acceptWay(way), 0);
assertFalse(encoder.isForward(flags));
assertTrue(encoder.isBackward(flags));
way.clearTags();
way.setTag("bicycle:forward", "no");
flags = encoder.handleWayTags(way, encoder.acceptWay(way), 0);
assertFalse(encoder.isForward(flags));