use of com.graphhopper.api.GraphHopperWeb in project graphhopper by graphhopper.
the class RouteResourceClientHCTest method testPathDetails.
@ParameterizedTest
@EnumSource(value = TestParam.class)
public void testPathDetails(TestParam p) {
GraphHopperWeb gh = createGH(p);
GHRequest req = new GHRequest().addPoint(new GHPoint(42.507065, 1.529846)).addPoint(new GHPoint(42.510383, 1.533392)).setProfile("my_car");
req.getPathDetails().add("average_speed");
GHResponse res = gh.route(req);
assertFalse(res.hasErrors(), "errors:" + res.getErrors().toString());
ResponsePath alt = res.getBest();
assertEquals(1, alt.getPathDetails().size());
List<PathDetail> details = alt.getPathDetails().get("average_speed");
assertFalse(details.isEmpty());
assertTrue((Double) details.get(0).getValue() > 20);
assertTrue((Double) details.get(0).getValue() < 70);
}
use of com.graphhopper.api.GraphHopperWeb in project graphhopper by graphhopper.
the class RouteResourceClientHCTest method testSimpleRoute.
@ParameterizedTest
@EnumSource(value = TestParam.class)
public void testSimpleRoute(TestParam p) {
GraphHopperWeb gh = createGH(p);
GHRequest req = new GHRequest().addPoint(new GHPoint(42.5093, 1.5274)).addPoint(new GHPoint(42.5126, 1.5410)).putHint("vehicle", "car").putHint("elevation", false).putHint("instructions", true).putHint("calc_points", true);
GHResponse rsp = gh.route(req);
assertFalse(rsp.hasErrors(), "errors:" + rsp.getErrors().toString());
ResponsePath res = rsp.getBest();
isBetween(60, 70, res.getPoints().size());
isBetween(2900, 3000, res.getDistance());
isBetween(110, 120, res.getAscend());
isBetween(70, 80, res.getDescend());
isBetween(190, 200, res.getRouteWeight());
// change vehicle
rsp = gh.route(new GHRequest(42.5093, 1.5274, 42.5126, 1.5410).putHint("vehicle", "bike"));
res = rsp.getBest();
assertFalse(rsp.hasErrors(), "errors:" + rsp.getErrors().toString());
isBetween(2500, 2600, res.getDistance());
assertEquals("[0, 1]", res.getPointsOrder().toString());
}
use of com.graphhopper.api.GraphHopperWeb in project graphhopper by graphhopper.
the class RouteResourceClientHCTest method testRetrieveOnlyStreetname.
@ParameterizedTest
@EnumSource(value = TestParam.class)
public void testRetrieveOnlyStreetname(TestParam p) {
GraphHopperWeb gh = createGH(p);
GHRequest req = new GHRequest().addPoint(new GHPoint(42.507065, 1.529846)).addPoint(new GHPoint(42.510383, 1.533392)).putHint("vehicle", "car");
GHResponse res = gh.route(req);
List<String> given = extractInstructionNames(res.getBest(), 5);
assertEquals(Arrays.asList("Continue onto Carrer de l'Aigüeta", "Turn right onto Carrer Pere d'Urg", "Turn right onto Carrer Bonaventura Armengol", "Keep right onto Avinguda Consell d'Europa", "At roundabout, take exit 4"), given);
req.putHint("turn_description", false);
res = gh.route(req);
given = extractInstructionNames(res.getBest(), 5);
assertEquals(Arrays.asList("Carrer de l'Aigüeta", "Carrer Pere d'Urg", "Carrer Bonaventura Armengol", "Avinguda Consell d'Europa", ""), given);
}
use of com.graphhopper.api.GraphHopperWeb in project graphhopper by graphhopper.
the class RouteResourceClientHCTest method readFinishInstruction.
@ParameterizedTest
@EnumSource(value = TestParam.class)
public void readFinishInstruction(TestParam p) {
GraphHopperWeb gh = createGH(p);
GHRequest req = new GHRequest().addPoint(new GHPoint(42.507065, 1.529846)).addPoint(new GHPoint(42.510383, 1.533392)).putHint("vehicle", "car");
GHResponse res = gh.route(req);
InstructionList instructions = res.getBest().getInstructions();
String finishInstructionName = instructions.get(instructions.size() - 1).getName();
assertEquals("Arrive at destination", finishInstructionName);
}
use of com.graphhopper.api.GraphHopperWeb in project graphhopper by graphhopper.
the class RouteResourceClientHCTest method testPointHints.
@ParameterizedTest
@EnumSource(value = TestParam.class)
public void testPointHints(TestParam p) {
GraphHopperWeb gh = createGH(p);
GHRequest req = new GHRequest().addPoint(new GHPoint(42.50856, 1.528451)).addPoint(new GHPoint(42.510383, 1.533392)).setProfile("my_car");
GHResponse response = gh.route(req);
isBetween(890, 900, response.getBest().getDistance());
req.setPointHints(Arrays.asList("Carrer Bonaventura Armengol", ""));
response = gh.route(req);
isBetween(520, 550, response.getBest().getDistance());
}
Aggregations