@Test
public void testGetPathsDirectionEnforcement4()
{

    // Test straight via routing
    GraphHopper instance = initSquareGraphInstance(false);
    // Start in middle of edge 4-5 
    GHPoint start = new GHPoint(0.0015, 0.002);
    // End at middle of edge 2-3
    GHPoint end = new GHPoint(0.002, 0.0005);
    // Via Point betweeen 8-3
    GHPoint via = new GHPoint(0.0015, 0.001);
    GHRequest req = new GHRequest().addPoint(start).addPoint(via).addPoint(end);
    req.getHints().put("pass_through", true);
    GHResponse response = new GHResponse();
    List<Path> paths = instance.getPaths(req, response);
    assertArrayEquals(new int[]
    {
        10, 4, 3, 11
    }, paths.get(0).calcNodes().toArray());
    assertArrayEquals(new int[]
    {
        11, 8, 1, 2, 9
    }, paths.get(1).calcNodes().toArray());
}