@Test
public void testCompatibilityBug() {
EncodingManager manager2 = new EncodingManager(FlagEncoderFactory.DEFAULT, "bike2", 8);
ReaderWay osmWay = new ReaderWay(1);
osmWay.setTag("highway", "footway");
osmWay.setTag("name", "test");
BikeFlagEncoder singleBikeEnc = (BikeFlagEncoder) manager2.getEncoder("bike2");
long flags = manager2.handleWayTags(osmWay, singleBikeEnc.acceptBit, 0);
double singleSpeed = singleBikeEnc.getSpeed(flags);
assertEquals(4, singleSpeed, 1e-3);
assertEquals(singleSpeed, singleBikeEnc.getReverseSpeed(flags), 1e-3);
EncodingManager manager = new EncodingManager(FlagEncoderFactory.DEFAULT, "bike2,bike,foot", 8);
FootFlagEncoder foot = (FootFlagEncoder) manager.getEncoder("foot");
BikeFlagEncoder bike = (BikeFlagEncoder) manager.getEncoder("bike2");
long acceptBits = foot.acceptBit | bike.acceptBit;
flags = manager.handleWayTags(osmWay, acceptBits, 0);
assertEquals(singleSpeed, bike.getSpeed(flags), 1e-2);
assertEquals(singleSpeed, bike.getReverseSpeed(flags), 1e-2);
assertEquals(5, foot.getSpeed(flags), 1e-2);
assertEquals(5, foot.getReverseSpeed(flags), 1e-2);
}