/**
  * {@inheritdoc}
  */
 public function setUp()
 {
     $this->manager = new RegionManager();
     $this->manager->registerLoader('default', new DevelopmentLoader());
     $this->manager->registerLoader('development', new DevelopmentLoader());
     $this->manager->registerRenderer('default', new DevelopmentRenderer());
     $this->manager->registerRenderer('development', new DevelopmentRenderer());
     $this->extension = new TwigExtension($this->manager);
     $this->twig = $this->getTwigEnvironment();
     $this->twig->addExtension($this->extension);
 }
 /**
  * @test
  * @testdox Loader is called with each new context after pooling is disabled (ignores duplicates)
  */
 public function loaderCalledForEveryNewContextIgnoringDuplicatesWhenPoolingIsDisabled()
 {
     $renderer = $this->generator->createAbstractRendererMock();
     $this->manager->registerRenderer('default', $renderer);
     $loaderA = $this->generator->createAbstractLoaderMock();
     $loaderA->expects($this->never())->method('single');
     $loaderA->expects($this->once())->method('batch');
     $loaderB = $this->generator->createAbstractLoaderMock();
     $loaderB->expects($this->once())->method('single');
     $loaderB->expects($this->never())->method('batch');
     $this->manager->registerLoader('default', $loaderA);
     $this->manager->registerLoader('development', $loaderB);
     $this->manager->addRegionContexts([new RegionContext('some-id-1', 'default', 'default'), new RegionContext('some-id-2', 'default', 'default'), new RegionContext('some-id-3', 'development', 'default'), new RegionContext('some-id-4', 'development', 'default')]);
     $this->manager->render('some-id-1');
     //  The duplicates should not hit the loaders.
     $this->manager->addRegionContexts([new RegionContext('some-id-1', 'default', 'default'), new RegionContext('some-id-4', 'development', 'default'), new RegionContext('some-id-5', 'development', 'development')]);
     //  Attempting a single duplicate.
     $this->manager->addRegionContext(new RegionContext('some-id-1', 'default', 'default'));
 }