public function testAsEncode()
 {
     $queryString = "(and type:'type' rating:1..10 (or user:'******'))";
     $query = new Query();
     $query->setBq($queryString);
     $query->setSize(5);
     $encoded = $query->encode();
     $this->assertContains("&size=5", $encoded);
     $this->assertContains('bq=' . urlencode($queryString), $encoded);
 }
 /**
  * @param integer $pageNumber
  * @param integer $pageSize
  *
  * @return null
  */
 public function setPagination($pageNumber, $pageSize)
 {
     $pageNumber = (int) $pageNumber;
     $pageSize = (int) $pageSize;
     if ($pageNumber < 1) {
         throw new \InvalidArgumentException('A page number must be greater than 0');
     }
     if ($pageSize < 0) {
         throw new \InvalidArgumentException('A page size must be equal or greater to 0');
     }
     $this->query->setStart(($pageNumber - 1) * $pageSize);
     $this->query->setSize($pageSize);
     return $this;
 }