Example #1
0
 /**
  * Test run suites behavior.
  *
  * @param \ArrayObject $suites
  * @param int $executor
  * @param int $statusCode
  *
  * @dataProvider dpRun
  */
 public function testRun(\ArrayObject $suites, $executor, $statusCode)
 {
     /** @var Suggestible|ContainerBuilder $container */
     $container = new ContainerBuilder();
     /** @var Suggestible $logger */
     $logger = new Logger('test');
     Configurator::setCustomBehavior($logger, 'info', null);
     $container->set('logger', $logger);
     /** @var Suggestible $dispatcher */
     $dispatcher = new EventDispatcher();
     Configurator::storeInvokes($dispatcher, true);
     $container->set('dispatcher', $dispatcher);
     /** @var Suggestible|Processor $processor */
     $processor = new Processor($container);
     Configurator::storeInvokes($processor, true);
     Configurator::setCustomBehavior($processor, 'executor', $executor);
     $this->assertSame($statusCode, $processor->run($suites));
     $this->assertSame([[EventStorage::EV_APP_STARTED], [EventStorage::EV_APP_FINISHED]], Configurator::getInvokes($dispatcher, 'dispatch'), 'Dispatcher did not send application events.');
     $this->assertSame(1, Configurator::getInvokesCount($processor, 'run'));
     $this->assertSame($suites->count(), Configurator::getInvokesCount($processor, 'backupGlobals'));
     $this->assertSame($suites->count(), Configurator::getInvokesCount($processor, 'executor'));
     $this->assertSame($suites->count(), Configurator::getInvokesCount($processor, 'restoreGlobals'));
 }