public function testDetails()
 {
     $this->assertFalse($this->searchOptions->getDetails());
     $this->searchOptions = $this->searchOptions->withDetails();
     $this->assertTrue($this->searchOptions->getDetails());
     $this->searchOptions = $this->searchOptions->withoutDetails();
     $this->assertFalse($this->searchOptions->getDetails());
 }
 /**
  * @param SearchOptions $searchOptions
  * @return array
  */
 public static function build(SearchOptions $searchOptions)
 {
     $queryParameters = [];
     if (!is_null($searchOptions->getPage())) {
         $queryParameters[self::PAGE] = $searchOptions->getPage()->toNative();
     }
     if (!is_null($searchOptions->getLimit())) {
         $queryParameters[self::LIMIT] = $searchOptions->getLimit()->toNative();
     }
     if (!is_null($searchOptions->getQuery())) {
         $queryParameters[self::QUERY] = $searchOptions->getQuery()->toNative();
     }
     if (!is_null($searchOptions->getSortField())) {
         $queryParameters[self::SORTING] = $searchOptions->getSortField()->toNative() . '_' . $searchOptions->getSortOrder()->toNative();
     }
     if ($searchOptions->getDetails()) {
         $queryParameters[self::DETAILED] = true;
     }
     return $queryParameters;
 }