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:----dW9p8frCC8gLo09tHsBVe+XwOVtxf2RKD5vBR+dhXxg26/N3/ROPPHSPr6BNq0E6X/opzLCIrNr1K/jksG55PGydAcObCFlce9zJXCTGKTw6a36wOaG8HF1iBx13rso433VFqfTceDqA9+c68WNdI2APdzlfFfNgoaNrofNyhwKGrs2lCG/Ty8nZz8h/ILtuvfdpL9h4AdMYeJuz8ISLtPhX8yo693JqrCqvRjlvkI5idM0+5+qNETrm5BKohI0zWZ3IJB2DNfZbFyn5oR5C78IdeIt5zFALkRAphL7YyybyzSDOz5LePYxQS9gOhGssRnWx4NBM79U2DMcHk52bz2RF3q+zvRBDR5tx6Pc5BYKHy+Lg/v7YycEDx+eUHHzVdjTmpZDsXLKIY56MjdfUgO9K8szX1CjkWwY0ywOtjuy8SleXPXHzx1wOii+rn54L6rFxvaK+md0dN1UYPUYXNV7TA+GH0yQpH20yFa3L3vD7w8M29p5Yn/IX29bcekf0eRvB2EQ415qEssUjSdGJIBMl/SXXEjZTtSaRVwj+3ncAbbZdQ8Qos9e1JWjImVr2LLBj4HKPSEkCVYDn3mcHjIEfZOz5nm8l2Gurm9F39fceG3V+uyEXPPKRSSUxGRfxc3XQ3UN5VtyfhUIBqVGbsrNaJSBHAnk7y79SOTBTGR8=----ATTACHMENT:----NDY1MjY4NDQyMDYwMDY0MyA0MDI4MDEwMTgwOTIwODM3IDM2MjI5NTQ3MTkzMTcyOTI=