public function testGetValueListQueryBuilder()
 {
     $class = 'Test\\Class';
     $qb = $this->getMockBuilder('Doctrine\\ORM\\QueryBuilder')->disableOriginalConstructor();
     $this->provider1->expects($this->once())->method('supports')->with($class)->willReturn(false);
     $this->provider2->expects($this->once())->method('supports')->with($class)->willReturn(true);
     $this->provider2->expects($this->once())->method('getValueListQueryBuilder')->with($class)->willReturn($qb);
     $this->assertEquals($qb, $this->chainProvider->getValueListQueryBuilder($class));
 }
 /**
  * {@inheritdoc}
  */
 public function getListQueryBuilder($limit = 10, $page = 1, $criteria = [], $orderBy = null, $joins = [])
 {
     $qb = $this->dictionaryProvider->getValueListQueryBuilder($this->class);
     if ($qb instanceof QueryBuilder) {
         if ($limit >= 0) {
             $qb->setMaxResults($limit);
             $qb->setFirstResult($this->getOffset($page, $limit));
         }
         if ($orderBy) {
             $qb->orderBy($orderBy);
         }
     } elseif (null !== $qb) {
         throw new \RuntimeException(sprintf('Expected instance of Doctrine\\ORM\\QueryBuilder, "%s" given.', is_object($qb) ? get_class($qb) : gettype($qb)));
     }
     return $qb;
 }