Skip to content

Commit 51ffea1

Browse files
committed
Add module test for cancelled stop on predication innacurate journey
1 parent 75e0fa5 commit 51ffea1

2 files changed

Lines changed: 38 additions & 0 deletions

File tree

application/src/test/java/org/opentripplanner/updater/trip/siri/SiriEtBuilder.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,11 @@ public SiriEtBuilder withVehicleMode(VehicleModesEnumeration mode) {
127127
return this;
128128
}
129129

130+
public SiriEtBuilder withPredictionInaccurate(boolean predictionInaccurate) {
131+
evj.setPredictionInaccurate(predictionInaccurate);
132+
return this;
133+
}
134+
130135
public SiriEtBuilder withRecordedCalls(
131136
Function<RecordedCallsBuilder, RecordedCallsBuilder> producer
132137
) {

application/src/test/java/org/opentripplanner/updater/trip/siri/moduletests/cancellation/CancelledStopTest.java

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,37 @@ void testCancelStop() {
5151
env.tripData(TRIP_1_ID).showTimetable()
5252
);
5353
}
54+
55+
/**
56+
* When a journey has predictionInaccurate=true and a stop has isCancellation=true,
57+
* the cancelled flag [C] must not be overwritten by prediction inaccurate [PI].
58+
*/
59+
@Test
60+
void testCancelledStopWithPredictionInaccurate() {
61+
var env = ENV_BUILDER.addTrip(TRIP_INPUT).build();
62+
var siri = SiriTestHelper.of(env);
63+
64+
var updates = siri
65+
.etBuilder()
66+
.withDatedVehicleJourneyRef(TRIP_1_ID)
67+
.withPredictionInaccurate(true)
68+
.withEstimatedCalls(builder ->
69+
builder
70+
.call(STOP_A)
71+
.departAimedExpected("00:01:01", "00:01:01")
72+
.call(STOP_B)
73+
.withIsCancellation(true)
74+
.call(STOP_D)
75+
.arriveAimedExpected("00:01:30", "00:01:30")
76+
)
77+
.buildEstimatedTimetableDeliveries();
78+
79+
var result = siri.applyEstimatedTimetable(updates);
80+
81+
assertSuccess(result);
82+
assertEquals(
83+
"MODIFIED | A [PI] 0:01:01 0:01:01 | B [C] 0:01:10 0:01:11 | D [PI] 0:01:30 0:01:30",
84+
env.tripData(TRIP_1_ID).showTimetable()
85+
);
86+
}
5487
}

0 commit comments

Comments
 (0)