Example #1
0
 /**
  * @depend test_doAdvance
  * @covers ::onAdvance
  */
 public function test_onAdvance()
 {
     // Set up monitors
     $Called = 0;
     $Steps = 0;
     // Valid arguments
     $this->Compiler->onAdvance(function ($Event) use(&$Called, &$Steps) {
         $Called++;
         $Steps = $Event->Steps;
     });
     $this->Compiler->doAdvance(-1);
     $this->assertEquals(1, $Called, 'Compiler::onAdvance() Failed to register callback');
     $this->assertEquals(-1, $Steps, 'Compiler::onAdvance() Failed to register callback');
     // Invalid arguments
     try {
         $this->Compiler->onAdvance(NULL);
         $this->fail('Failed to generate exception with invalid arguments');
     } catch (InvalidArgumentException $e) {
     }
     // No mediator
     $this->Compiler->clearMediator();
     $this->Compiler->onAdvance(function () {
     });
     $this->assertEquals(1, $Called, 'Compiler::onAdvance() Failed to register callback');
 }