|
5 | 5 | import static org.junit.jupiter.api.Assertions.assertNull;
|
6 | 6 | import static org.junit.jupiter.api.Assertions.assertThrows;
|
7 | 7 | import static org.junit.jupiter.api.Assertions.fail;
|
| 8 | +import static org.opentripplanner.transit.model.network.CarAccess.ALLOWED; |
| 9 | +import static org.opentripplanner.transit.model.network.CarAccess.NOT_ALLOWED; |
| 10 | +import static org.rutebanken.netex.model.WaterSubmodeEnumeration.HIGH_SPEED_VEHICLE_SERVICE; |
| 11 | +import static org.rutebanken.netex.model.WaterSubmodeEnumeration.LOCAL_CAR_FERRY; |
| 12 | +import static org.rutebanken.netex.model.WaterSubmodeEnumeration.NATIONAL_CAR_FERRY; |
| 13 | +import static org.rutebanken.netex.model.WaterSubmodeEnumeration.POST_BOAT; |
| 14 | +import static org.rutebanken.netex.model.WaterSubmodeEnumeration.REGIONAL_CAR_FERRY; |
8 | 15 |
|
9 | 16 | import java.util.EnumSet;
|
10 | 17 | import java.util.List;
|
|
14 | 21 | import org.junit.jupiter.params.provider.Arguments;
|
15 | 22 | import org.junit.jupiter.params.provider.MethodSource;
|
16 | 23 | import org.opentripplanner.netex.mapping.TransportModeMapper.UnsupportedModeException;
|
| 24 | +import org.opentripplanner.transit.model.basic.SubMode; |
17 | 25 | import org.opentripplanner.transit.model.basic.TransitMode;
|
18 | 26 | import org.rutebanken.netex.model.AirSubmodeEnumeration;
|
19 | 27 | import org.rutebanken.netex.model.AllVehicleModesOfTransportEnumeration;
|
@@ -126,10 +134,38 @@ void unsupportedMode() {
|
126 | 134 | assertThrows(UnsupportedModeException.class, () -> transportModeMapper.map(null, null));
|
127 | 135 | }
|
128 | 136 |
|
| 137 | + @Test |
| 138 | + void carsAllowedBasedOnSubMode() { |
| 139 | + assertEquals(ALLOWED, transportModeMapper.mapCarsAllowed(SubMode.of("nationalCarFerry"))); |
| 140 | + assertEquals(ALLOWED, transportModeMapper.mapCarsAllowed(SubMode.of("regionalCarFerry"))); |
| 141 | + assertEquals(ALLOWED, transportModeMapper.mapCarsAllowed(SubMode.of("localCarFerry"))); |
| 142 | + assertEquals( |
| 143 | + ALLOWED, |
| 144 | + transportModeMapper.mapCarsAllowed(SubMode.of("highSpeedVehicleService")) |
| 145 | + ); |
| 146 | + assertEquals(NOT_ALLOWED, transportModeMapper.mapCarsAllowed(SubMode.UNKNOWN)); |
| 147 | + assertEquals(NOT_ALLOWED, transportModeMapper.mapCarsAllowed((SubMode) null)); |
| 148 | + } |
| 149 | + |
| 150 | + @Test |
| 151 | + void carsAllowedBasedOn() { |
| 152 | + assertEquals(ALLOWED, transportModeMapper.mapCarsAllowed(tsm(NATIONAL_CAR_FERRY))); |
| 153 | + assertEquals(ALLOWED, transportModeMapper.mapCarsAllowed(tsm(REGIONAL_CAR_FERRY))); |
| 154 | + assertEquals(ALLOWED, transportModeMapper.mapCarsAllowed(tsm(LOCAL_CAR_FERRY))); |
| 155 | + assertEquals(ALLOWED, transportModeMapper.mapCarsAllowed(tsm(HIGH_SPEED_VEHICLE_SERVICE))); |
| 156 | + assertEquals(NOT_ALLOWED, transportModeMapper.mapCarsAllowed(tsm(POST_BOAT))); |
| 157 | + assertEquals(NOT_ALLOWED, transportModeMapper.mapCarsAllowed(tsm(null))); |
| 158 | + assertEquals(NOT_ALLOWED, transportModeMapper.mapCarsAllowed((TransportSubmodeStructure) null)); |
| 159 | + } |
| 160 | + |
129 | 161 | private static List<Arguments> createSubModeTestCases() {
|
130 | 162 | return VALID_SUBMODE_STRUCTURES.entrySet()
|
131 | 163 | .stream()
|
132 | 164 | .map(entry -> Arguments.of(entry.getKey(), entry.getValue()))
|
133 | 165 | .toList();
|
134 | 166 | }
|
| 167 | + |
| 168 | + private static TransportSubmodeStructure tsm(WaterSubmodeEnumeration waterSubMode) { |
| 169 | + return new TransportSubmodeStructure().withWaterSubmode(waterSubMode); |
| 170 | + } |
135 | 171 | }
|
0 commit comments