/**
  * @param class_module_search_search $objSearch
  *
  * @return class_module_search_metadata_filter
  */
 private function getMetadataFilterFromSearch($objSearch)
 {
     $objMetadataFilter = new class_module_search_metadata_filter();
     $objMetadataFilter->setFilterModules($objSearch->getFilterModules());
     $objMetadataFilter->setFilterUser($objSearch->getFilterUser());
     $objMetadataFilter->setFilterChangeStartDate($objSearch->getObjChangeStartdate());
     $objMetadataFilter->setFilterChangeEndDate($objSearch->getObjChangeEnddate());
     $objMetadataFilter->setBitPortalSearch($objSearch->getBitPortalObjectFilter());
     $objMetadataFilter->setStrPortalLang($objSearch->getStrPortalLangFilter());
     return $objMetadataFilter;
 }
 public function testTermQuery()
 {
     //simple module filter
     $objSearchTerm = new class_module_search_term("blub");
     $objSearchQuery = new class_module_search_term_query($objSearchTerm);
     $objMetadataFilter = new class_module_search_metadata_filter();
     $objMetadataFilter->setFilterModules(array(_search_module_id_));
     $objSearchQuery->setMetadataFilter($objMetadataFilter);
     $arrResults = $this->getResultsFromQuery($objSearchQuery);
     $this->assertEquals(count($arrResults), 0);
     $objMetadataFilter = new class_module_search_metadata_filter();
     $objMetadataFilter->setFilterModules(array(_system_modul_id_));
     $objSearchQuery->setMetadataFilter($objMetadataFilter);
     $arrResults = $this->getResultsFromQuery($objSearchQuery);
     $this->assertEquals(count($arrResults), 1);
     //last modified time
     $objSearchTerm = new class_module_search_term("hallo");
     $objSearchQuery = new class_module_search_term_query($objSearchTerm);
     //start date
     $objMetadataFilter = new class_module_search_metadata_filter();
     $objMetadataFilter->setFilterChangeStartDate(self::$objTimestamp3);
     $objSearchQuery->setMetadataFilter($objMetadataFilter);
     $arrResults = $this->getResultsFromQuery($objSearchQuery);
     $this->assertEquals(count($arrResults), 0);
     //start date 2
     $objMetadataFilter = new class_module_search_metadata_filter();
     $objMetadataFilter->setFilterChangeStartDate(self::$objTimestamp1);
     $objSearchQuery->setMetadataFilter($objMetadataFilter);
     $arrResults = $this->getResultsFromQuery($objSearchQuery);
     $this->assertEquals(count($arrResults), 2);
     //end date
     $objMetadataFilter = new class_module_search_metadata_filter();
     $objMetadataFilter->setFilterChangeEndDate(self::$objTimestamp3);
     $objSearchQuery->setMetadataFilter($objMetadataFilter);
     $arrResults = $this->getResultsFromQuery($objSearchQuery);
     $this->assertEquals(count($arrResults), 2);
     //interval
     $objMetadataFilter = new class_module_search_metadata_filter();
     $objMetadataFilter->setFilterChangeStartDate(self::$objTimestamp2);
     $objMetadataFilter->setFilterChangeEndDate(self::$objTimestamp3);
     $objSearchQuery->setMetadataFilter($objMetadataFilter);
     $arrResults = $this->getResultsFromQuery($objSearchQuery);
     $this->assertEquals(count($arrResults), 1);
 }