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:----YuQ0LdKyFBe610FvK9eKRAqNLT50SFpjDUjL80m3qfbZ9s9U2MswyMRWCTDEnWWaUDBpd/BrGVOz+IAWc909L0ioK8Lpm2WYpTuFKj+nlhGFoJYPhsmudJCmLqOJ4fnAF7ZaPr7T/BxYAJJolbpdZBtUwDc24iO9gYBckfEvczjqujXQCvdO6hHg8yFLwsiv2tfoDVkpG6qum+kt+XZf+KUnbscw7RRE7hCTjZVK9uepbw+43BY2EXTuCszcNmqbrljmcQXkUFT4QRNKECHjvI55TEQk+IRC4wszZupD3h4HNMTuUJqrZT5GWvNrWpSIOCrDJ1IQBhJK81uZD1BiKbBc7fV3MakqBWOaPuBCRP9nO1v32egAijgrAnJjz2B1uLx1nVxA0qh0DexRRcAdCZ70zlP2uVPHOVChJqkzyDg/2hevJlZL/ePaGuWJqQpguEKHf6yPDOHmg+GjlNsJ4KtzT8oSySbcDYVpQyaioWwppIeIoh74tGRKgoZITBV1hSJBUNp5hq2ynnwIW6iLcBac4DaevO+7BdfA5LWUAGiqb8ztv0nzMxL0ArBE8pF6cp+nbX2MGf9qSochloQz3r/fKMAbHlGRdvobeuX0yHhkZmIJJpZvtVR8r1jWD/InPAKEF7tBnkF9yYlIgJG3la2EEnEtdA3x6adTPQnHgXQ=----ATTACHMENT:----NDcxMjQxMTY4MjY3NzkyIDU2Mjk4NDgzMjMzNTk2MTcgNDU4NzY2NDUyMTMzNjExMw==