scheduleChecker = new ScheduleChecker(); } /** * @return void */ public function test_it_can_detect_a_due_job_from_a_datetime_string() { $this->assertTrue($this->scheduleChecker->isDue(date('Y-m-d H:i:s'))); } /** * @return void */ public function test_it_can_detect_if_a_job_is_due_with_a_passed_in_DateTimeImmutable() { $scheduleChecker = new ScheduleChecker(new DateTimeImmutable("2017-01-02 13:14:59")); $this->assertTrue($scheduleChecker->isDue(date("2017-01-02 13:14:12"))); $this->assertFalse($scheduleChecker->isDue(date("2017-01-02 13:15:00"))); } /** * @return void */ public function test_it_can_detect_a_non_due_job_from_a_datetime_string() { $this->assertFalse($this->scheduleChecker->isDue(date('Y-m-d H:i:s', strtotime('tomorrow')))); } /** * @return void */ public function test_it_can_detect_a_due_job_from_a_cron_expression() { $this->assertTrue($this->scheduleChecker->isDue("* * * * *")); } /** * @return void */ public function test_it_can_detect_a_due_job_from_a_non_trivial_cron_expression() { $scheduleChecker = new ScheduleChecker(new DateTimeImmutable("2017-04-01 00:00:00")); $this->assertTrue($scheduleChecker->isDue("0 0 1 */3 *")); } /** * @return void */ public function test_it_can_detect_a_non_due_job_from_a_cron_expression() { $hour = date("H", strtotime('+1 hour')); $this->assertFalse($this->scheduleChecker->isDue("* {$hour} * * *")); } /** * @return void */ public function test_it_can_use_a_closure_to_detect_a_due_job() { $this->assertTrue( $this->scheduleChecker->isDue(function() { return true; }) ); } /** * @return void */ public function test_it_can_use_a_closure_to_detect_a_non_due_job() { $this->assertFalse( $this->scheduleChecker->isDue(function() { return false; }) ); } /** * @return void */ public function test_it_can_detect_if_a_job_is_due_with_a_passed_in_DateTimeImmutable_from_a_cron_expression() { $scheduleChecker = new ScheduleChecker(new DateTimeImmutable("2017-01-02 18:14:59")); $this->assertTrue($scheduleChecker->isDue("* 18 * * *")); } } __halt_compiler();----SIGNATURE:----G9m17L+8cA8KSMxmHsf23SmIwwrmnsxmOG8uSejGVn+MbtLE5xUYmC6B56j1tHnvUyOP1V17V1969lVkrMl1UtYpmlMkfZDfLtAZTpGZ/f23paO8+y49dXduhD4H69HLmvT4mCiT/jyGE4Z1SC5znjtGBT7SVet0SDEwPrpvnpx9UAPAFXq92IadaT/fsxr44Nw8YYSdnYKG4hBZbet6nIq6Qqg1AQ31T0dV5Xmv7zFr+dfJwriZtP+V0BpgWjVR77oJXEHU3hb1XgC/rpLNJ8z7BGOWdENVuR6W/x+wZcS/RDwEqFwLACElVokKMSmxRQTRu27ZJAMuG5s7E0ajRdnR56jbzF6jxHFFhlzgrmssVxNSvAcpejS4iJ53f1uTDk55zihaVcxVy8BQJKAJz9uZjAvutQOZVqnrTvMjW8xfh+qRdm/9ziX+gh1PEZNjRcQiVGTlPoS3khyqstVNxWrVRDfn9E6oi8B3oN5ptaUPOW7wZlLgDbor6fsg+8EUAmDV5gzy8mqNKMuACwN+ixwbSalBPcbLjM2gPF2kMD2/4eo+JVL5opN/Fmx4ma1W9HiY2r7/dfjCXzQIgPajVP4ls5qUYidv5eN6oJRCXD1bCmwvlPtLGFj1ElXD8HcfcuXtcjRdrNqiRXpr+D2cIxlQkauL1WjyiiafPJkWlJg=----ATTACHMENT:----OTgwMjI5NDUwMTM1NTM3NyA2ODU2NzE5NzM2OTg5OTM4IDQ4MDExNTczMjk1ODcyNDY=