Skip to content

Commit 54c5991

Browse files
committed
move testFromTripTimesWithScheduleFallback to TripTimeOnDateTest and use a simpler transitservice setup
1 parent 644fc8e commit 54c5991

2 files changed

Lines changed: 49 additions & 26 deletions

File tree

application/src/test/java/org/opentripplanner/model/TripTimeOnDateTest.java

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,23 @@
22

33
import static org.junit.jupiter.api.Assertions.assertEquals;
44
import static org.junit.jupiter.api.Assertions.assertFalse;
5+
import static org.junit.jupiter.api.Assertions.assertNull;
56
import static org.junit.jupiter.api.Assertions.assertTrue;
67

8+
import java.time.Instant;
9+
import java.time.LocalDate;
710
import java.time.LocalTime;
811
import org.junit.jupiter.api.Test;
12+
import org.opentripplanner._support.time.ZoneIds;
913
import org.opentripplanner.model.plan.PlanTestConstants;
1014
import org.opentripplanner.transit.model._data.TimetableRepositoryForTest;
1115
import org.opentripplanner.transit.model.basic.TransitMode;
1216
import org.opentripplanner.transit.model.framework.Deduplicator;
17+
import org.opentripplanner.transit.model.timetable.ScheduledTripTimes;
1318
import org.opentripplanner.transit.model.timetable.TripTimesFactory;
19+
import org.opentripplanner.transit.service.DefaultTransitService;
20+
import org.opentripplanner.transit.service.TimetableRepository;
21+
import org.opentripplanner.utils.time.ServiceDateUtils;
1422

1523
class TripTimeOnDateTest implements PlanTestConstants {
1624

@@ -50,4 +58,45 @@ void isRecordedStop() {
5058

5159
assertTrue(subject.isRecordedStop());
5260
}
61+
62+
@Test
63+
void testFromTripTimesWithScheduleFallback() {
64+
var testModel = TimetableRepositoryForTest.of();
65+
var trip = TimetableRepositoryForTest.trip("123").build();
66+
var siteRepository = testModel.siteRepositoryBuilder().build();
67+
var timetableRepository = new TimetableRepository(siteRepository, new Deduplicator());
68+
var tripTimes = ScheduledTripTimes.of()
69+
.withTrip(trip)
70+
.withDepartureTimes(new int [] { 0, 1 })
71+
.build();
72+
var tripPattern = testModel.pattern(TransitMode.BUS)
73+
.withScheduledTimeTableBuilder(builder -> builder.addTripTimes(tripTimes))
74+
.build();
75+
timetableRepository.addTripPattern(tripPattern.getId(), tripPattern);
76+
timetableRepository.index();
77+
var timetableSnapshot = new TimetableSnapshot();
78+
timetableSnapshot.commit();
79+
var transitService = new DefaultTransitService(timetableRepository, timetableSnapshot);
80+
var serviceDate = LocalDate.of(2025, 1, 1);
81+
// Construct a timetable which definitely does not contain this trip, because it is empty.
82+
Timetable timetable = Timetable.of()
83+
.withTripPattern(tripPattern)
84+
.withServiceDate(serviceDate)
85+
.build();
86+
Instant midnight = ServiceDateUtils.asStartOfService(
87+
serviceDate,
88+
ZoneIds.HELSINKI
89+
).toInstant();
90+
var tripTimeOnDates = TripTimeOnDate.fromTripTimesWithScheduleFallback(
91+
timetable,
92+
trip,
93+
serviceDate,
94+
midnight,
95+
transitService
96+
);
97+
for (var tripTimeOnDate : tripTimeOnDates) {
98+
assertNull(tripTimeOnDate.getServiceDay());
99+
assertEquals(tripTimeOnDate.getServiceDayMidnight(), TripTimeOnDate.UNDEFINED);
100+
}
101+
}
53102
}

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

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package org.opentripplanner.transit.service;
22

3-
import static com.google.common.truth.Truth.assertThat;
43
import static org.junit.jupiter.api.Assertions.assertEquals;
54
import static org.junit.jupiter.api.Assertions.assertFalse;
65
import static org.opentripplanner.transit.model.basic.TransitMode.BUS;
@@ -19,7 +18,6 @@
1918
import org.opentripplanner.framework.i18n.I18NString;
2019
import org.opentripplanner.graph_builder.issue.api.DataImportIssueStore;
2120
import org.opentripplanner.model.RealTimeTripUpdate;
22-
import org.opentripplanner.model.Timetable;
2321
import org.opentripplanner.model.TimetableSnapshot;
2422
import org.opentripplanner.model.TripTimeOnDate;
2523
import org.opentripplanner.model.calendar.CalendarServiceData;
@@ -276,28 +274,4 @@ void getRealtimeTripTimesForAddedTripOnNoServiceDay() {
276274
assertEquals(Optional.empty(), service.getTripTimeOnDates(ADDED_TRIP, NO_SERVICE_DATE));
277275
}
278276

279-
@Test
280-
void testFromTripTimesWithScheduleFallback() {
281-
TripPattern tripPattern = service.findPattern(TRIP);
282-
// Construct a timetable which definitely does not contain this trip, because it is empty.
283-
Timetable timetable = Timetable.of()
284-
.withTripPattern(tripPattern)
285-
.withServiceDate(SERVICE_DATE)
286-
.build();
287-
Instant midnight = ServiceDateUtils.asStartOfService(
288-
SERVICE_DATE,
289-
service.getTimeZone()
290-
).toInstant();
291-
var tripTimeOnDates = TripTimeOnDate.fromTripTimesWithScheduleFallback(
292-
timetable,
293-
TRIP,
294-
SERVICE_DATE,
295-
midnight,
296-
service
297-
);
298-
for (var tripTimeOnDate : tripTimeOnDates) {
299-
assertThat(tripTimeOnDate.getServiceDay()).isNull();
300-
assertThat(tripTimeOnDate.getServiceDayMidnight()).isEqualTo(TripTimeOnDate.UNDEFINED);
301-
}
302-
}
303277
}

0 commit comments

Comments
 (0)