/** * @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()); }