* Test for List search(QueryCreator, HitExtractor, QueryResultCreator, Filter)
*/
final public void testSearchQueryCreatorHitExtractorQueryResultCreatorFilter() throws Exception {
Analyzer analyzer = new SimpleAnalyzer();
MockControl searcherFactoryControl = MockControl.createStrictControl(SearcherFactory.class);
SearcherFactory searcherFactory = (SearcherFactory)searcherFactoryControl.getMock();
MockControl searcherControl = MockControl.createStrictControl(LuceneSearcher.class);
LuceneSearcher searcher = (LuceneSearcher)searcherControl.getMock();
MockControl queryCreatorControl = MockControl.createStrictControl(QueryCreator.class);
QueryCreator queryCreator = (QueryCreator)queryCreatorControl.getMock();
MockControl hitsControl = MockControl.createStrictControl(LuceneHits.class);
LuceneHits hits = (LuceneHits)hitsControl.getMock();
MockControl hitExtractorControl = MockControl.createStrictControl(HitExtractor.class);
HitExtractor hitExtractor = (HitExtractor)hitExtractorControl.getMock();
MockControl queryResultCreatorControl = MockControl.createStrictControl(QueryResultCreator.class);
QueryResultCreator queryResultCreator = (QueryResultCreator)queryResultCreatorControl.getMock();
//query
Query query = new TermQuery(new Term("field", "sample"));
//filter
TermQuery filterQuery = new TermQuery(new Term("filter", "another"));
Filter filter = new QueryFilter(filterQuery);
//document
Document document = new Document();
document.add(new Field("field", "a sample", Field.Store.YES, Field.Index.TOKENIZED));
document.add(new Field("filter", "a sample filter", Field.Store.YES, Field.Index.TOKENIZED));
document.add(new Field("sort", "2", Field.Store.YES, Field.Index.UN_TOKENIZED));
Object obj = new Object();
searcherFactory.getSearcher();
searcherFactoryControl.setReturnValue(searcher, 1);
queryCreator.createQuery(analyzer);
queryCreatorControl.setReturnValue(query, 1);