private function injectContainer()
 {
     if ($this->container === null && $this->containerConfig === null) {
         return;
     }
     if ($this->container === null) {
         $this->setContainer($this->builder->getContainer($this->containerConfig));
     }
     foreach ($this->all() as $command) {
         if ($command instanceof ContainerAwareInterface) {
             $command->setContainer($this->container);
         }
     }
 }
 /**
  * @test
  *
  * @covers LuisMulinari\Consolefull\Application::__construct
  * @covers LuisMulinari\Consolefull\Application::doRun
  * @covers LuisMulinari\Consolefull\Application::injectContainer
  * @covers Symfony\Component\Console\Application::__construct
  * @covers Symfony\Component\Console\Application::add
  * @covers Symfony\Component\Console\Application::doRun
  * @covers Lcobucci\DependencyInjection\ContainerInjector::setContainer
  * @covers Lcobucci\DependencyInjection\ContainerInjector::getContainer
  */
 public function doRunShouldInjectTheContainerOnContainerAwareCommands()
 {
     $input = $this->getMock(InputInterface::class);
     $output = $this->getMock(OutputInterface::class);
     $container = $this->getMock(ContainerInterface::class);
     $this->builder->expects($this->never())->method('getContainer');
     $command = new CommandTest();
     $command2 = new ContainerAwareCommandTest();
     $application = new Application('name', 'version', $this->config, $this->builder);
     $application->add($command);
     $application->add($command2);
     $application->setContainer($container);
     $application->doRun($input, $output);
     $this->assertAttributeSame($container, 'container', $command2);
 }
 /**
  * @test
  *
  * @covers Lcobucci\DependencyInjection\ContainerBuilder::__construct
  * @covers Lcobucci\DependencyInjection\ContainerBuilder::setDefaultConfiguration
  * @covers Lcobucci\DependencyInjection\ContainerBuilder::createDumpCache
  * @covers Lcobucci\DependencyInjection\ContainerBuilder::getContainer
  */
 public function getContainerShouldGenerateAndReturnTheContainer()
 {
     $builder = new ContainerBuilder($this->config, $this->generator, $this->parameterBag);
     $container = $this->getMock(ContainerInterface::class);
     $this->generator->expects($this->once())->method('generate')->with($this->config, $this->isInstanceOf(ConfigCache::class))->willReturn($container);
     $this->assertSame($container, $builder->getContainer());
 }