/**
  * @param Itinerary $anItinerary
  * @return RouteCandidateDto
  */
 public function toDto(Itinerary $anItinerary)
 {
     $legs = array();
     foreach ($anItinerary->legs() as $leg) {
         $legDto = new LegDto();
         $legDto->setLoadLocation($leg->loadLocation());
         $legDto->setUnloadLocation($leg->unloadLocation());
         $legDto->setLoadTime($leg->loadTime()->format(\DateTime::ISO8601));
         $legDto->setUnloadTime($leg->unloadTime()->format(\DateTime::ISO8601));
         $legs[] = $legDto;
     }
     $routeCandidate = new RouteCandidateDto();
     $routeCandidate->setLegs($legs);
     return $routeCandidate;
 }
 /**
  * @test
  */
 public function it_has_list_of_legs()
 {
     $legs = [LegFixture::get(LegFixture::HONGKONG_NEWYORK), LegFixture::get(LegFixture::NEWYORK_HAMBURG)];
     $itinerary = new Itinerary($legs);
     $this->assertSame($legs, $itinerary->legs());
 }