Search in sources :

Example 11 with GraphHopperWeb

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);
}
Also used : ResponsePath(com.graphhopper.ResponsePath) PathDetail(com.graphhopper.util.details.PathDetail) GHRequest(com.graphhopper.GHRequest) GraphHopperWeb(com.graphhopper.api.GraphHopperWeb) GHPoint(com.graphhopper.util.shapes.GHPoint) GHResponse(com.graphhopper.GHResponse) EnumSource(org.junit.jupiter.params.provider.EnumSource) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 12 with GraphHopperWeb

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());
}
Also used : ResponsePath(com.graphhopper.ResponsePath) GHRequest(com.graphhopper.GHRequest) GraphHopperWeb(com.graphhopper.api.GraphHopperWeb) GHPoint(com.graphhopper.util.shapes.GHPoint) GHResponse(com.graphhopper.GHResponse) EnumSource(org.junit.jupiter.params.provider.EnumSource) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 13 with GraphHopperWeb

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);
}
Also used : GHRequest(com.graphhopper.GHRequest) GraphHopperWeb(com.graphhopper.api.GraphHopperWeb) GHPoint(com.graphhopper.util.shapes.GHPoint) GHResponse(com.graphhopper.GHResponse) EnumSource(org.junit.jupiter.params.provider.EnumSource) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 14 with GraphHopperWeb

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);
}
Also used : InstructionList(com.graphhopper.util.InstructionList) GHRequest(com.graphhopper.GHRequest) GraphHopperWeb(com.graphhopper.api.GraphHopperWeb) GHPoint(com.graphhopper.util.shapes.GHPoint) GHResponse(com.graphhopper.GHResponse) EnumSource(org.junit.jupiter.params.provider.EnumSource) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 15 with GraphHopperWeb

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());
}
Also used : GHRequest(com.graphhopper.GHRequest) GraphHopperWeb(com.graphhopper.api.GraphHopperWeb) GHPoint(com.graphhopper.util.shapes.GHPoint) GHResponse(com.graphhopper.GHResponse) EnumSource(org.junit.jupiter.params.provider.EnumSource) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Aggregations

GHRequest (com.graphhopper.GHRequest)22 GraphHopperWeb (com.graphhopper.api.GraphHopperWeb)22 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)22 GHResponse (com.graphhopper.GHResponse)20 GHPoint (com.graphhopper.util.shapes.GHPoint)13 EnumSource (org.junit.jupiter.params.provider.EnumSource)11 Test (org.junit.jupiter.api.Test)10 ResponsePath (com.graphhopper.ResponsePath)5 InstructionList (com.graphhopper.util.InstructionList)4 PathDetail (com.graphhopper.util.details.PathDetail)3 Instruction (com.graphhopper.util.Instruction)1 RoundaboutInstruction (com.graphhopper.util.RoundaboutInstruction)1 PointNotFoundException (com.graphhopper.util.exceptions.PointNotFoundException)1 PointOutOfBoundsException (com.graphhopper.util.exceptions.PointOutOfBoundsException)1 Response (javax.ws.rs.core.Response)1 ValueSource (org.junit.jupiter.params.provider.ValueSource)1