Skip to content

Commit f60c1db

Browse files
committed
add test for #6391
1 parent 4c3983b commit f60c1db

File tree

2 files changed

+27
-7
lines changed

2 files changed

+27
-7
lines changed

application/src/test/java/org/opentripplanner/updater/trip/TripUpdateBuilder.java

+20
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,18 @@ public TripUpdateBuilder addDelayedStopTime(int stopSequence, int delay) {
6565
return addStopTime(null, -1, stopSequence, delay, delay, DEFAULT_SCHEDULE_RELATIONSHIP, null);
6666
}
6767

68+
public TripUpdateBuilder addDelayedArrivalStopTime(int stopSequence, int arrivalDelay) {
69+
return addStopTime(
70+
null,
71+
-1,
72+
stopSequence,
73+
arrivalDelay,
74+
NO_DELAY,
75+
DEFAULT_SCHEDULE_RELATIONSHIP,
76+
null
77+
);
78+
}
79+
6880
public TripUpdateBuilder addDelayedStopTime(
6981
int stopSequence,
7082
int arrivalDelay,
@@ -166,6 +178,14 @@ private TripUpdateBuilder addStopTime(
166178
departureBuilder.setDelay(departureDelay);
167179
}
168180

181+
if (!arrivalBuilder.hasTime() && !arrivalBuilder.hasDelay()) {
182+
stopTimeUpdateBuilder.clearArrival();
183+
}
184+
185+
if (!departureBuilder.hasTime() && !departureBuilder.hasDelay()) {
186+
stopTimeUpdateBuilder.clearDeparture();
187+
}
188+
169189
return this;
170190
}
171191

application/src/test/java/org/opentripplanner/updater/trip/moduletests/delay/DelayedTest.java

+7-7
Original file line numberDiff line numberDiff line change
@@ -74,16 +74,16 @@ void singleStopDelay() {
7474
void complexDelay() {
7575
var tripInput = TripInput
7676
.of(TRIP_2_ID)
77-
.addStop(STOP_A1, "0:01:00", "0:01:01")
78-
.addStop(STOP_B1, "0:01:10", "0:01:11")
79-
.addStop(STOP_C1, "0:01:20", "0:01:21")
77+
.addStop(STOP_A1, "0:00:00", "0:00:00")
78+
.addStop(STOP_B1, "0:05:00", "0:10:00") // 5-minute dwell
79+
.addStop(STOP_C1, "0:15:00", "0:16:00")
8080
.build();
8181
var env = RealtimeTestEnvironment.gtfs().addTrip(tripInput).build();
8282

8383
var tripUpdate = new TripUpdateBuilder(TRIP_2_ID, SERVICE_DATE, SCHEDULED, TIME_ZONE)
8484
.addDelayedStopTime(0, 0)
85-
.addDelayedStopTime(1, 60, 80)
86-
.addDelayedStopTime(2, 90, 90)
85+
.addDelayedArrivalStopTime(1, 900) // arrival delayed until 00:20
86+
.addDelayedStopTime(2, 540) // delayed until 00:24 arr / 00:25 dep
8787
.build();
8888

8989
assertSuccess(env.applyTripUpdate(tripUpdate));
@@ -119,11 +119,11 @@ void complexDelay() {
119119
);
120120

121121
assertEquals(
122-
"SCHEDULED | A1 0:01 0:01:01 | B1 0:01:10 0:01:11 | C1 0:01:20 0:01:21",
122+
"SCHEDULED | A1 0:00 0:00 | B1 0:05 0:10 | C1 0:15 0:15",
123123
env.getScheduledTimetable(TRIP_2_ID)
124124
);
125125
assertEquals(
126-
"UPDATED | A1 0:01 0:01:01 | B1 0:02:10 0:02:31 | C1 0:02:50 0:02:51",
126+
"UPDATED | A1 0:00 0:00 | B1 0:20 0:20 | C1 0:24 0:25",
127127
env.getRealtimeTimetable(TRIP_2_ID)
128128
);
129129
}

0 commit comments

Comments
 (0)