diff --git a/src/main/java/de/geofabrik/railway_routing/ev/RailwayClass.java b/src/main/java/de/geofabrik/railway_routing/ev/RailwayClass.java index be530b9..3741caf 100644 --- a/src/main/java/de/geofabrik/railway_routing/ev/RailwayClass.java +++ b/src/main/java/de/geofabrik/railway_routing/ev/RailwayClass.java @@ -7,7 +7,7 @@ * This enum defines the railway class of an edge. It maps the railway=* key of OSM to an enum. All edges that do not fit get OTHER as value. */ public enum RailwayClass { - OTHER, RAIL, SUBWAY, TRAM, NARROW_GAUGE, LIGHT_RAIL, FUNICULAR, CONSTRUCTION; + OTHER, RAIL, SUBWAY, TRAM, LIGHT_RAIL, FUNICULAR, CONSTRUCTION, MONORAIL, PROPOSED; public static final String KEY = "railway_class"; diff --git a/src/test/java/de/geofabrik/railway_routing/parsers/OSMRailwayClassParserTest.java b/src/test/java/de/geofabrik/railway_routing/parsers/OSMRailwayClassParserTest.java index 0cb9212..89dc3de 100644 --- a/src/test/java/de/geofabrik/railway_routing/parsers/OSMRailwayClassParserTest.java +++ b/src/test/java/de/geofabrik/railway_routing/parsers/OSMRailwayClassParserTest.java @@ -57,7 +57,7 @@ void railwayClass() { way = new ReaderWay(29L); way.setTag("railway", "narrow_gauge"); parser.handleWayTags(edgeId, edgeIntAccess, way, relFlags); - assertEquals(RailwayClass.NARROW_GAUGE, classEnc.getEnum(false, edgeId, edgeIntAccess)); + assertEquals(RailwayClass.OTHER, classEnc.getEnum(false, edgeId, edgeIntAccess)); edgeIntAccess = new ArrayEdgeIntAccess(1); way = new ReaderWay(29L); @@ -76,6 +76,18 @@ void railwayClass() { way.setTag("railway", "construction"); parser.handleWayTags(edgeId, edgeIntAccess, way, relFlags); assertEquals(RailwayClass.CONSTRUCTION, classEnc.getEnum(false, edgeId, edgeIntAccess)); + + edgeIntAccess = new ArrayEdgeIntAccess(1); + way = new ReaderWay(29L); + way.setTag("railway", "proposed"); + parser.handleWayTags(edgeId, edgeIntAccess, way, relFlags); + assertEquals(RailwayClass.PROPOSED, classEnc.getEnum(false, edgeId, edgeIntAccess)); + + edgeIntAccess = new ArrayEdgeIntAccess(1); + way = new ReaderWay(29L); + way.setTag("railway", "monorail"); + parser.handleWayTags(edgeId, edgeIntAccess, way, relFlags); + assertEquals(RailwayClass.MONORAIL, classEnc.getEnum(false, edgeId, edgeIntAccess)); } }