public function testCompilerPassIteratorAndCountable()
 {
     $collection = new CompilerPassCollection();
     $collection->addCompiler($compiler_x = new DummyCompilerPass('definition-x', true), 100);
     $collection->addCompiler($compiler_y = new DummyCompilerPass('definition-y'), 500);
     $collection->addCompiler($compiler_z = new DummyCompilerPass('definition-z'), -500);
     $collection->addCompiler($compiler_t = new DummyCompilerPass('definition-t'), 500);
     $collection->addCompiler($compiler_w = new DummyCompilerPass('definition-w'), 500);
     $this->assertSame(5, count($collection));
     $iterationResult = [];
     foreach ($collection as $compiler) {
         $iterationResult[] = $compiler;
     }
     $this->assertSame(array($compiler_z, $compiler_x, $compiler_y, $compiler_t, $compiler_w), $iterationResult);
 }
 /**
  * {@inheritdoc}
  */
 public function compile(ContainerInterface $container)
 {
     return $this->compilers->process($container);
 }