/** * @param \DateTimeImmutable $date * @param Time|null $timeStart * @param Time|null $timeEnd * @throws InvalidArgumentValidationException */ public function __construct(\DateTimeImmutable $date, Time $timeStart = null, Time $timeEnd = null) { Assertion::timeRange(Time::fromString(self::START_TIME_DAY), $timeStart, $timeEnd); $this->date = $date; $this->timeStart = $timeStart; $this->timeEnd = $timeEnd; }
/** * @param $timeString * @return Time|null */ private static function getTime($timeString) { $time = null; if ($timeString) { $time = Time::fromString($timeString); } return $time; }
/** * @param int $hours * @param int $minutes * @expectedException \CoreDomain\Exception\InvalidArgumentValidationException * @dataProvider invalidTimeValuesProvider */ public function testInvalidTimeFromValues($hours, $minutes) { Time::fromValues($hours, $minutes); }
/** * @return array */ public function invalidTimeRangeProvider() { return [[Time::fromString("20:00"), Time::fromString("18:00")], [Time::fromString("04:00"), Time::fromString("01:00")], [Time::fromString("05:59"), Time::fromString("06:00")]]; }