public function testClone()
 {
     $schedule = new Schedule();
     $schedule->setScheduledAt(new \DateTime());
     $clone = clone $schedule;
     $this->assertNull($clone->getScheduledAt());
 }
 public function testProcessNotReturnsTrueTwiceWithinOneMinute()
 {
     $schedule = new Schedule();
     $schedule->setExpression('* * * * *');
     $schedule->setScheduledAt(new \DateTime('2010-01-01 00:00:00'));
     $this->factory->expects($this->any())->method('create')->with($schedule->getExpression())->will($this->returnValue($this->expression));
     $this->expression->expects($this->any())->method('isDue')->will($this->returnValue(true));
     $subject = new Processor(new ExpressionFactory());
     $this->assertFalse($subject->process($schedule, new \DateTime('2010-01-01 00:00:00')));
 }
 /**
  * @param \DateTime|null $currentDateTime
  * @dataProvider getDatesData
  */
 public function testProcessWithScheduledScheduleReturnsFalse(\DateTime $currentDateTime = null)
 {
     $schedule = new Schedule();
     $schedule->setScheduledAt(new \DateTime());
     $this->assertFalse($this->subject->process($schedule, $currentDateTime));
 }