closest() public method

public closest ( DateTime $date, $mode = self::CLOSEST_NEXT )
$date DateTime
Beispiel #1
0
 public function testClosestAfterSpecialDaysCalledCorrectly()
 {
     $mondayOne = new \DateTime('2015-05-11 10:00');
     $mondayTwo = new \DateTime('2015-05-18 10:00');
     $tuesday = new \DateTime('2015-05-12 10:00');
     $mondayOneCalls = 0;
     $mondayTwoCalls = 0;
     $tuesdayCalls = 0;
     $business = new Business([new SpecialDay(Days::MONDAY, function (\DateTime $date) use($mondayOne, &$mondayOneCalls, $mondayTwo, &$mondayTwoCalls, $tuesday, &$tuesdayCalls) {
         if ($date == $mondayOne) {
             $mondayOneCalls++;
         } elseif ($date == $mondayTwo) {
             $mondayTwoCalls++;
         } elseif ($date == $tuesday) {
             $tuesdayCalls++;
         }
         return [['09:00', '13:00'], ['14:00', '17:00']];
     })]);
     $business->closest($mondayOne);
     $business->closest($mondayTwo);
     $business->closest($tuesday);
     $this->assertEquals(1, $mondayOneCalls);
     $this->assertEquals(1, $mondayTwoCalls);
     $this->assertEquals(0, $tuesdayCalls);
 }