Navitia: Fix queryDepartures() for stop_area when equivs is set to true.

This commit is contained in:
Antonio El Khoury 2015-02-21 15:40:22 +01:00 committed by Andreas Schildbach
parent 0267c655bf
commit 3e92246ff8
2 changed files with 31 additions and 2 deletions

View file

@ -854,8 +854,16 @@ public abstract class AbstractNavitiaProvider extends AbstractNetworkProvider
queryUri.append(uri());
if (equivs)
{
final String stopAreaId = getStopAreaId(stationId);
queryUri.append("stop_areas/" + stopAreaId + "/");
final String header = stationId.substring(0, stationId.indexOf(":"));
if (header.equals("stop_point"))
{
final String stopAreaId = getStopAreaId(stationId);
queryUri.append("stop_areas/" + stopAreaId + "/");
}
else if (header.equals("stop_area"))
{
queryUri.append("stop_areas/" + stationId + "/");
}
}
else
{

View file

@ -112,6 +112,27 @@ public class ParisProviderLiveTest extends AbstractProviderLiveTest
print(result);
}
@Test
public void queryDeparturesStopArea() throws Exception
{
final int maxDepartures = 5;
final QueryDeparturesResult result = queryDepartures("stop_area:RTP:SA:1958", maxDepartures, true);
assertEquals(QueryDeparturesResult.Status.OK, result.status);
assertTrue(result.stationDepartures.size() > 1);
int nbDepartures = 0;
int nbLines = 0;
for (final StationDepartures stationDepartures : result.stationDepartures)
{
nbDepartures += stationDepartures.departures.size();
final List<LineDestination> lines = stationDepartures.lines;
if (lines != null)
nbLines += lines.size();
}
assertTrue(nbDepartures <= maxDepartures);
assertTrue(nbLines >= 2);
print(result);
}
@Test
public void queryDeparturesEquivsTrue() throws Exception
{