scheduler = new TaskScheduler(); } public function tearDown() : void{ $this->scheduler->shutdown(); } public function testCancel() : void{ $task = $this->scheduler->scheduleTask(new ClosureTask(function() : void{ throw new CancelTaskException(); })); $this->scheduler->mainThreadHeartbeat(0); self::assertTrue($task->isCancelled(), "Task was not cancelled"); } }