Skip to content

Commit 1de24b2

Browse files
committed
Add more tests
1 parent 6e143d9 commit 1de24b2

File tree

2 files changed

+52
-1
lines changed

2 files changed

+52
-1
lines changed

src/test/java/org/opentripplanner/transit/model/timetable/RealTimeTripTimesTest.java

+11
Original file line numberDiff line numberDiff line change
@@ -402,6 +402,17 @@ public void testNoData() {
402402
assertFalse(updatedTripTimesA.isNoDataStop(2));
403403
}
404404

405+
@Test
406+
public void testRealTimeUpdated() {
407+
RealTimeTripTimes updatedTripTimesA = createInitialTripTimes().copyScheduledTimes();
408+
assertFalse(updatedTripTimesA.isRealTimeUpdated(1));
409+
updatedTripTimesA.setRealTimeState(RealTimeState.UPDATED);
410+
assertTrue(updatedTripTimesA.isRealTimeUpdated(1));
411+
updatedTripTimesA.setNoData(1);
412+
assertTrue(updatedTripTimesA.isRealTimeUpdated(0));
413+
assertFalse(updatedTripTimesA.isRealTimeUpdated(1));
414+
}
415+
405416
@Nested
406417
class GtfsStopSequence {
407418

src/test/java/org/opentripplanner/transit/service/DefaultTransitServiceTest.java

+41-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.opentripplanner.transit.service;
22

33
import static org.junit.jupiter.api.Assertions.assertEquals;
4+
import static org.opentripplanner.model.plan.PlanTestConstants.T11_30;
45
import static org.opentripplanner.transit.model.basic.TransitMode.BUS;
56
import static org.opentripplanner.transit.model.basic.TransitMode.FERRY;
67
import static org.opentripplanner.transit.model.basic.TransitMode.RAIL;
@@ -12,16 +13,23 @@
1213
import java.util.Set;
1314
import org.junit.jupiter.api.BeforeAll;
1415
import org.junit.jupiter.api.Test;
16+
import org.opentripplanner.framework.i18n.I18NString;
17+
import org.opentripplanner.graph_builder.issue.api.DataImportIssueStore;
1518
import org.opentripplanner.model.TimetableSnapshot;
19+
import org.opentripplanner.model.calendar.CalendarServiceData;
1620
import org.opentripplanner.transit.model._data.TransitModelForTest;
1721
import org.opentripplanner.transit.model.framework.Deduplicator;
22+
import org.opentripplanner.transit.model.framework.FeedScopedId;
1823
import org.opentripplanner.transit.model.network.StopPattern;
1924
import org.opentripplanner.transit.model.network.TripPattern;
2025
import org.opentripplanner.transit.model.site.RegularStop;
2126
import org.opentripplanner.transit.model.site.Station;
2227
import org.opentripplanner.transit.model.site.StopLocation;
28+
import org.opentripplanner.transit.model.timetable.DatedTrip;
2329
import org.opentripplanner.transit.model.timetable.RealTimeTripTimes;
2430
import org.opentripplanner.transit.model.timetable.ScheduledTripTimes;
31+
import org.opentripplanner.transit.model.timetable.Trip;
32+
import org.opentripplanner.transit.model.timetable.TripTimesFactory;
2533

2634
class DefaultTransitServiceTest {
2735

@@ -46,6 +54,13 @@ class DefaultTransitServiceTest {
4654
.withCreatedByRealtimeUpdater(true)
4755
.build();
4856

57+
static FeedScopedId CALENDAR_ID = TransitModelForTest.id("CAL_1");
58+
static Trip TRIP = TransitModelForTest
59+
.trip("123")
60+
.withHeadsign(I18NString.of("Trip Headsign"))
61+
.withServiceId(CALENDAR_ID)
62+
.build();
63+
4964
@BeforeAll
5065
static void setup() {
5166
var stopModel = TEST_MODEL
@@ -55,8 +70,23 @@ static void setup() {
5570
.withStation(STATION)
5671
.build();
5772

58-
var transitModel = new TransitModel(stopModel, new Deduplicator());
73+
var deduplicator = new Deduplicator();
74+
var transitModel = new TransitModel(stopModel, deduplicator);
75+
var canceledStopTimes = TEST_MODEL.stopTimesEvery5Minutes(3, TRIP, T11_30);
76+
var canceledTripTimes = TripTimesFactory.tripTimes(TRIP, canceledStopTimes, deduplicator);
77+
RAIL_PATTERN.add(canceledTripTimes);
78+
canceledTripTimes.cancelTrip();
5979
transitModel.addTripPattern(RAIL_PATTERN.getId(), RAIL_PATTERN);
80+
81+
// Crate a calendar (needed for testing cancelled trips)
82+
CalendarServiceData calendarServiceData = new CalendarServiceData();
83+
calendarServiceData.putServiceDatesForServiceId(
84+
CALENDAR_ID,
85+
List.of(LocalDate.of(2024, 8, 8), LocalDate.of(2024, 8, 9))
86+
);
87+
transitModel.getServiceCodes().put(CALENDAR_ID, 0);
88+
transitModel.updateCalendarServiceData(true, calendarServiceData, DataImportIssueStore.NOOP);
89+
6090
transitModel.index();
6191

6292
transitModel.initTimetableSnapshotProvider(() -> {
@@ -69,6 +99,7 @@ static void setup() {
6999
.build()
70100
);
71101
timetableSnapshot.update(REAL_TIME_PATTERN, tripTimes, LocalDate.now());
102+
timetableSnapshot.update(RAIL_PATTERN, canceledTripTimes, LocalDate.now());
72103

73104
return timetableSnapshot.commit();
74105
});
@@ -115,4 +146,13 @@ void getPatternForStopsWithRealTime() {
115146
Collection<TripPattern> patternsForStop = service.getPatternsForStop(STOP_B, true);
116147
assertEquals(Set.of(FERRY_PATTERN, RAIL_PATTERN, REAL_TIME_PATTERN), patternsForStop);
117148
}
149+
150+
@Test
151+
void getCanceledTrips() {
152+
Collection<DatedTrip> canceledTrips = service.getCanceledTrips(null);
153+
assertEquals(
154+
"[DatedTrip[trip=Trip{F:123 RR123}, serviceDate=2024-08-08], DatedTrip[trip=Trip{F:123 RR123}, serviceDate=2024-08-09]]",
155+
canceledTrips.toString()
156+
);
157+
}
118158
}

0 commit comments

Comments
 (0)