Skip to content

Commit 27457e7

Browse files
leonardehrenfriedtkalvas
authored andcommitted
Restructure tests a little
1 parent ac9cbd9 commit 27457e7

File tree

5 files changed

+93
-89
lines changed

5 files changed

+93
-89
lines changed

application/src/test/java/org/opentripplanner/graph_builder/module/osm/moduletests/BoardingLocationTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import org.opentripplanner.service.vehicleparking.internal.DefaultVehicleParkingRepository;
1717
import org.opentripplanner.transit.model.framework.Deduplicator;
1818

19-
public class BoardingLocationTest {
19+
class BoardingLocationTest {
2020

2121
/**
2222
* There is a one-way road which is also marked as a platform in Sky Campus which crashed OSM.
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
package org.opentripplanner.graph_builder.module.osm.moduletests;
2+
3+
import static com.google.common.truth.Truth.assertThat;
4+
import static org.junit.jupiter.api.Assertions.assertEquals;
5+
import static org.opentripplanner.graph_builder.module.osm.moduletests._support.NodeBuilder.node;
6+
7+
import org.junit.jupiter.api.Test;
8+
import org.opentripplanner.framework.geometry.WgsCoordinate;
9+
import org.opentripplanner.graph_builder.module.osm.OsmModule;
10+
import org.opentripplanner.graph_builder.module.osm.moduletests._support.TestOsmProvider;
11+
import org.opentripplanner.osm.model.OsmWay;
12+
import org.opentripplanner.routing.graph.Graph;
13+
import org.opentripplanner.service.osminfo.internal.DefaultOsmInfoGraphBuildRepository;
14+
import org.opentripplanner.service.vehicleparking.internal.DefaultVehicleParkingRepository;
15+
import org.opentripplanner.street.model.edge.ElevatorHopEdge;
16+
import org.opentripplanner.transit.model.framework.Deduplicator;
17+
18+
class ElevatorTest {
19+
20+
@Test
21+
void testDuration() {
22+
var way = new OsmWay();
23+
way.addTag("duration", "00:01:02");
24+
way.addTag("highway", "elevator");
25+
var provider = TestOsmProvider.of().addWay(way).build();
26+
var graph = new Graph(new Deduplicator());
27+
var osmModule = OsmModule.of(
28+
provider,
29+
graph,
30+
new DefaultOsmInfoGraphBuildRepository(),
31+
new DefaultVehicleParkingRepository()
32+
).build();
33+
osmModule.buildGraph();
34+
var edges = graph.getEdgesOfType(ElevatorHopEdge.class);
35+
assertThat(edges).hasSize(2);
36+
for (var edge : edges) {
37+
assertEquals(62, edge.getTravelTime());
38+
}
39+
}
40+
41+
@Test
42+
void testMultilevelNodeDuration() {
43+
var node0 = node(0, new WgsCoordinate(0, 0));
44+
var node1 = node(1, new WgsCoordinate(2, 0));
45+
var node = node(2, new WgsCoordinate(1, 0));
46+
node.addTag("duration", "00:01:02");
47+
node.addTag("highway", "elevator");
48+
node.addTag("level", "1;2");
49+
var provider = TestOsmProvider.of()
50+
.addWayFromNodes(way -> way.addTag("level", "1"), node0, node)
51+
.addWayFromNodes(way -> way.addTag("level", "2"), node1, node)
52+
.build();
53+
var graph = new Graph(new Deduplicator());
54+
var osmModule = OsmModule.of(
55+
provider,
56+
graph,
57+
new DefaultOsmInfoGraphBuildRepository(),
58+
new DefaultVehicleParkingRepository()
59+
).build();
60+
osmModule.buildGraph();
61+
var edges = graph.getEdgesOfType(ElevatorHopEdge.class);
62+
assertThat(edges).hasSize(2);
63+
for (var edge : edges) {
64+
assertEquals(62, edge.getTravelTime());
65+
}
66+
}
67+
}

application/src/test/java/org/opentripplanner/graph_builder/module/osm/moduletests/_support/TestOsmProvider.java

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -120,33 +120,28 @@ public Builder addWayFromNodes(OsmNode... nodes) {
120120
}
121121

122122
public Builder addWayFromNodes(long id, List<OsmNode> nodes) {
123-
this.nodes.addAll(nodes);
124-
var nodeIds = nodes.stream().map(OsmEntity::getId).toList();
123+
return addWayFromNodes(way -> {}, id, nodes);
124+
}
125125

126-
var way = new OsmWay();
127-
way.setId(id);
128-
way.addTag("highway", "pedestrian");
129-
way.getNodeRefs().addAll(nodeIds);
126+
public Builder addWayFromNodes(Consumer<OsmWay> wayConsumer, OsmNode... nodes) {
127+
return addWayFromNodes(wayConsumer, counter.incrementAndGet(), List.of(nodes));
128+
}
130129

131-
this.ways.add(way);
130+
public Builder addRelation(OsmRelation relation) {
131+
this.relations.add(relation);
132132
return this;
133133
}
134134

135-
public Builder addWayFromNodes(Consumer<OsmWay> wayConsumer, OsmNode... nodes) {
136-
this.nodes.addAll(Arrays.stream(nodes).toList());
137-
var nodeIds = Arrays.stream(nodes).map(OsmEntity::getId).toList();
135+
private Builder addWayFromNodes(Consumer<OsmWay> wayConsumer, long id, List<OsmNode> nodes) {
136+
this.nodes.addAll(nodes);
137+
var nodeIds = nodes.stream().map(OsmEntity::getId).toList();
138138
var way = new OsmWay();
139-
way.setId(counter.incrementAndGet());
139+
way.setId(id);
140140
way.addTag("highway", "pedestrian");
141141
wayConsumer.accept(way);
142142
way.getNodeRefs().addAll(nodeIds);
143143
this.ways.add(way);
144144
return this;
145145
}
146-
147-
public Builder addRelation(OsmRelation relation) {
148-
this.relations.add(relation);
149-
return this;
150-
}
151146
}
152147
}

application/src/test/java/org/opentripplanner/graph_builder/module/osm/moduletests/walkablearea/SimpleAreaTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import org.opentripplanner.test.support.GeoJsonIo;
1717
import org.opentripplanner.transit.model.framework.Deduplicator;
1818

19-
public class SimpleAreaTest {
19+
class SimpleAreaTest {
2020

2121
@Test
2222
void walkableArea() {
Lines changed: 13 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,23 @@
11
package org.opentripplanner.street.model.edge;
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.assertNotNull;
65
import static org.junit.jupiter.api.Assertions.assertTrue;
7-
import static org.opentripplanner.graph_builder.module.osm.moduletests._support.NodeBuilder.node;
86
import static org.opentripplanner.street.model._data.StreetModelForTest.intersectionVertex;
97

108
import java.util.stream.Stream;
119
import org.junit.jupiter.api.Test;
1210
import org.junit.jupiter.params.ParameterizedTest;
1311
import org.junit.jupiter.params.provider.Arguments;
1412
import org.junit.jupiter.params.provider.MethodSource;
15-
import org.opentripplanner.framework.geometry.WgsCoordinate;
16-
import org.opentripplanner.graph_builder.module.osm.OsmModule;
17-
import org.opentripplanner.graph_builder.module.osm.moduletests._support.TestOsmProvider;
18-
import org.opentripplanner.osm.model.OsmWay;
1913
import org.opentripplanner.routing.api.request.StreetMode;
2014
import org.opentripplanner.routing.api.request.preference.AccessibilityPreferences;
2115
import org.opentripplanner.routing.api.request.preference.WheelchairPreferences;
22-
import org.opentripplanner.routing.graph.Graph;
23-
import org.opentripplanner.service.osminfo.internal.DefaultOsmInfoGraphBuildRepository;
24-
import org.opentripplanner.service.vehicleparking.internal.DefaultVehicleParkingRepository;
2516
import org.opentripplanner.street.model.StreetTraversalPermission;
2617
import org.opentripplanner.street.model.vertex.Vertex;
2718
import org.opentripplanner.street.search.request.StreetSearchRequest;
2819
import org.opentripplanner.street.search.state.State;
2920
import org.opentripplanner.transit.model.basic.Accessibility;
30-
import org.opentripplanner.transit.model.framework.Deduplicator;
3121

3222
class ElevatorHopEdgeTest {
3323

@@ -88,66 +78,6 @@ void allowByDefault(Accessibility wheelchair, double expectedCost) {
8878
assertEquals(expectedCost, wheelchairResult.weight);
8979
}
9080

91-
private State[] traverse(Accessibility wheelchair, StreetSearchRequest req) {
92-
var edge = ElevatorHopEdge.createElevatorHopEdge(
93-
from,
94-
to,
95-
StreetTraversalPermission.ALL,
96-
wheelchair
97-
);
98-
var state = new State(from, req);
99-
100-
return edge.traverse(state);
101-
}
102-
103-
@Test
104-
void testDuration() {
105-
var way = new OsmWay();
106-
way.addTag("duration", "00:01:02");
107-
way.addTag("highway", "elevator");
108-
var provider = TestOsmProvider.of().addWay(way).build();
109-
var graph = new Graph(new Deduplicator());
110-
var osmModule = OsmModule.of(
111-
provider,
112-
graph,
113-
new DefaultOsmInfoGraphBuildRepository(),
114-
new DefaultVehicleParkingRepository()
115-
).build();
116-
osmModule.buildGraph();
117-
var edges = graph.getEdgesOfType(ElevatorHopEdge.class);
118-
assertThat(edges).hasSize(2);
119-
for (var edge : edges) {
120-
assertThat(edge.getTravelTime()).isEqualTo(62);
121-
}
122-
}
123-
124-
@Test
125-
void testMultilevelNodeDuration() {
126-
var node0 = node(0, new WgsCoordinate(0, 0));
127-
var node1 = node(1, new WgsCoordinate(2, 0));
128-
var node = node(2, new WgsCoordinate(1, 0));
129-
node.addTag("duration", "00:01:02");
130-
node.addTag("highway", "elevator");
131-
node.addTag("level", "1;2");
132-
var provider = TestOsmProvider.of()
133-
.addWayFromNodes(way -> way.addTag("level", "1"), node0, node)
134-
.addWayFromNodes(way -> way.addTag("level", "2"), node1, node)
135-
.build();
136-
var graph = new Graph(new Deduplicator());
137-
var osmModule = OsmModule.of(
138-
provider,
139-
graph,
140-
new DefaultOsmInfoGraphBuildRepository(),
141-
new DefaultVehicleParkingRepository()
142-
).build();
143-
osmModule.buildGraph();
144-
var edges = graph.getEdgesOfType(ElevatorHopEdge.class);
145-
assertThat(edges).hasSize(2);
146-
for (var edge : edges) {
147-
assertThat(edge.getTravelTime()).isEqualTo(62);
148-
}
149-
}
150-
15181
@Test
15282
void testTraversal() {
15383
var edge = ElevatorHopEdge.createElevatorHopEdge(
@@ -160,6 +90,18 @@ void testTraversal() {
16090
);
16191
var req = StreetSearchRequest.of().withMode(StreetMode.WALK);
16292
var res = edge.traverse(new State(from, req.build()))[0];
163-
assertThat(res.getTimeDeltaMilliseconds()).isEqualTo(62_000);
93+
assertEquals(62_000, res.getTimeDeltaMilliseconds());
94+
}
95+
96+
private State[] traverse(Accessibility wheelchair, StreetSearchRequest req) {
97+
var edge = ElevatorHopEdge.createElevatorHopEdge(
98+
from,
99+
to,
100+
StreetTraversalPermission.ALL,
101+
wheelchair
102+
);
103+
var state = new State(from, req);
104+
105+
return edge.traverse(state);
164106
}
165107
}

0 commit comments

Comments
 (0)