1
/*------------------------------------------------------------------------------
2
* Copyright (C) 2003-2006 Ben van Klinken and the CLucene Team
4
* Distributable under the terms of either the Apache License (Version 2.0) or
5
* the GNU Lesser General Public License, as specified in the COPYING file.
6
------------------------------------------------------------------------------*/
7
#ifndef _lucene_search_spans_TestSpans
8
#define _lucene_search_spans_TestSpans
12
#include "CLucene/search/spans/SpanTermQuery.h"
13
CL_NS_USE2(search,spans)
18
CL_NS(search)::IndexSearcher * searcher;
19
CL_NS(store)::RAMDirectory * directory;
21
static const TCHAR * docFields[];
24
static const TCHAR * field;
29
TestSpans( CuTest* tc );
33
SpanTermQuery * makeSpanTermQuery( const TCHAR* text );
35
void orderedSlopTest3( int32_t slop, int32_t * expectedDocs, size_t expectedDocsCount );
36
void orderedSlopTest3Equal( int32_t slop, int32_t * expectedDocs, size_t expectedDocsCount );
37
void orderedSlopTest1Equal( int32_t slop, int32_t * expectedDocs, size_t expectedDocsCount );
39
void testSpanNearOrdered();
40
void testSpanNearOrderedEqual();
41
void testSpanNearOrderedEqual1();
43
void testSpanNearOrderedOverlap();
45
void testSpanOrEmpty();
46
void testSpanOrSingle();
47
void testSpanOrDouble();
48
void testSpanOrDoubleSkip();
49
void testSpanOrUnused();
50
void testSpanOrTripleSameDoc();
53
void checkHits( Query * query, int32_t * results, size_t resultsCount );
54
void orderedSlopTest3SQ( SpanQuery * q1, SpanQuery * q2, SpanQuery * q3, int32_t slop, int32_t * expectedDocs, size_t expectedDocCount );
56
void orSpans( const TCHAR ** terms, size_t termsCount, Spans *& spans, Query *& query );
57
void tstNextSpans( Spans * spans, int32_t doc, int32_t start, int32_t end );