/**
  * Test if the current page uid can be set
  *
  * @test
  * @return void
  */
 public function currentPageUidCanBeSetTest()
 {
     $currentPageUid = 99;
     $this->fixture->setCurrentPageUid($currentPageUid);
     $this->assertEquals($currentPageUid, $this->fixture->getCurrentPageUid());
 }
 /**
  * Returns all banners in respect to excludepages (recursively if set in banner)
  *
  * @param \TYPO3\CMS\Extbase\Persistence\QueryResultInterface $result The result
  * @param \DERHANSEN\SfBanners\Domain\Model\BannerDemand $demand The demand
  * @return array
  */
 protected function getExcludePageBanners(QueryResultInterface $result, BannerDemand $demand)
 {
     /** @var \TYPO3\CMS\Core\Database\QueryGenerator $queryGenerator */
     $queryGenerator = $this->objectManager->get('TYPO3\\CMS\\Core\\Database\\QueryGenerator');
     $banners = array();
     /** @var \DERHANSEN\SfBanners\Domain\Model\Banner $banner */
     foreach ($result as $banner) {
         $excludePages = array();
         foreach ($banner->getExcludepages() as $excludePage) {
             if ($banner->getRecursive()) {
                 $pidList = $queryGenerator->getTreeList($excludePage->getUid(), 255, 0, 1);
                 $excludePages = array_merge($excludePages, explode(',', $pidList));
             } else {
                 $excludePages[] = $excludePage->getUid();
             }
         }
         if (!in_array($demand->getCurrentPageUid(), $excludePages)) {
             $banners[] = $banner;
         }
     }
     return $banners;
 }