public function testGetTimetable() { $query = new TimetableQuery(); $query->setRoute(1)->setDeparture("123")->setDestination("456"); $provider = $this->getMockProviderReturnsTimetableParser(); $cercanias = new Cercanias($provider); $this->assertInstanceOf('\\Cercanias\\Entity\\Timetable', $cercanias->getTimetable($query)); }
* @license MIT License */ require __DIR__ . '/..' . '/vendor/autoload.php'; use Cercanias\Cercanias; use Cercanias\Provider\TimetableQuery; use Cercanias\Provider\HorariosRenfeCom\Provider; use Cercanias\HttpAdapter\BuzzHttpAdapter; use Cercanias\Entity\Trip; use Cercanias\Entity\Train; $query = new TimetableQuery(); $query->setRoute(Provider::ROUTE_BARCELONA)->setDeparture("79600")->setDestination("71802"); // Barcelona-Passeig de Gràcia $httpAdapter = new BuzzHttpAdapter(); $provider = new Provider($httpAdapter); $cercanias = new Cercanias($provider); $timetable = $cercanias->getTimetable($query); echo "Timetable 'Barcelona': \n"; echo sprintf(" - departure: '%s'\n", $timetable->getDeparture()->getName()); echo sprintf(" - destination: '%s'\n", $timetable->getDestination()->getName()); echo sprintf(" - transfer: '%s'\n", $timetable->getTransferName()); echo sprintf(" - date: %s\n", $query->getDate()->format("Y-m-d")); $pattern = "%4s %6s %6s %6s %4s %6s\n"; echo sprintf($pattern, "LINE", "DEPART", "ARRIVE", "DEPART", "LINE", "ARRIVE"); foreach ($timetable->getTrips() as $trip) { foreach (prepareResults($trip) as $item) { echo sprintf($pattern, $item["line"], $item["departure"], $item["arrival"], $item["transfer_departure"], $item["transfer_line"], $item["transfer_arrival"]); } } function prepareResults(Trip $trip) { $result = array("line" => $trip->getDepartureTrain()->getLine(), "departure" => $trip->getDepartureTrain()->getDepartureTime()->format("H:i"), "arrival" => $trip->getDepartureTrain()->getArrivalTime()->format("H:i"), "transfer_departure" => "", "transfer_arrival" => "", "transfer_line" => "");