47 lines
1.3 KiB
C++
47 lines
1.3 KiB
C++
/*------------------------------------------------------------------------------
|
|
* Copyright (C) 2003-2006 Ben van Klinken and the CLucene Team
|
|
*
|
|
* Distributable under the terms of either the Apache License (Version 2.0) or
|
|
* the GNU Lesser General Public License, as specified in the COPYING file.
|
|
------------------------------------------------------------------------------*/
|
|
#include "test.h"
|
|
#include "../util/English.h"
|
|
|
|
//checks that adding more than the min_merge value goes ok...
|
|
//checks for a mem leak that used to occur
|
|
void testIWmergeSegments1(CuTest *tc){
|
|
RAMDirectory ram;
|
|
SimpleAnalyzer a;
|
|
IndexWriter ndx(&ram,&a,true);
|
|
ndx.setUseCompoundFile(false);
|
|
ndx.setMergeFactor(2);
|
|
ndx.setMinMergeDocs(1);
|
|
TCHAR fld[1000];
|
|
for ( int i=0;i<1000;i++ ){
|
|
English::IntToEnglish(i,fld,1000);
|
|
|
|
Document doc;
|
|
doc.add ( *Field::Text(_T("field"),fld) );
|
|
ndx.addDocument(&doc);
|
|
}
|
|
ndx.close();
|
|
|
|
//test the ram loading
|
|
RAMDirectory ram2(&ram);
|
|
IndexReader* reader2 = IndexReader::open(&ram2);
|
|
Term* term = _CLNEW Term(_T("field"),fld);
|
|
TermEnum* en = reader2->terms(term);
|
|
CLUCENE_ASSERT(en->next());
|
|
_CLDELETE(en);
|
|
_CLDECDELETE(term);
|
|
_CLDELETE(reader2);
|
|
}
|
|
CuSuite *testindexwriter(void)
|
|
{
|
|
CuSuite *suite = CuSuiteNew(_T("CLucene IndexWriter Test"));
|
|
SUITE_ADD_TEST(suite, testIWmergeSegments1);
|
|
|
|
return suite;
|
|
}
|
|
// EOF
|