protected function addTransferTrain(Train $train) { if ($this->getDepartureTrain()->getArrivalTime() > $train->getDepartureTime()) { throw new OutOfBoundsException("Transfer train departs before first train arrives"); } $this->getTransferTrains()->append($train); }
protected function createTransferTrain(Train $train) { $departureTransferDateTime = clone $train->getArrivalTime(); $departureTransferDateTime = $departureTransferDateTime->add(new \DateInterval("PT10M")); $arrivalTransferDateTime = clone $departureTransferDateTime; $arrivalTransferDateTime = $arrivalTransferDateTime->add(new \DateInterval("PT55M")); return new Train($train->getLine(), $departureTransferDateTime, $arrivalTransferDateTime); }
protected function isDepartureTimeEqual(Train $train) { return $train->getDepartureTime() == $this->getDepartureTime(); }
public function testCompareWithSameDepartureAndArrivalTimes() { $train = new Train("C1", new \DateTime("2014-01-10 11:00:00"), new \DateTime("2014-01-10 11:30:00")); $this->assertEquals(0, $train->compareWith($train)); }