/**
  * @param RouteSpecification $aRouteSpecification
  * @return Itinerary[] A list of itineraries that satisfy the specification. May be an empty list if no route is found.
  */
 public function fetchRoutesForSpecification(RouteSpecification $aRouteSpecification)
 {
     $transitPaths = $this->graphTraversalService->findShortestPath($aRouteSpecification->origin(), $aRouteSpecification->destination());
     $itineraries = array();
     foreach ($transitPaths as $transitPath) {
         $itineraries[] = $this->toItinerary($transitPath);
     }
     return $itineraries;
 }
 /**
  * @test
  */
 public function it_is_not_same_value_as_route_specification_with_different_destination()
 {
     $invalidCheck = new RouteSpecification('Hongkong', 'New York');
     $this->assertFalse($this->object->sameValueAs($invalidCheck));
 }