mirror of https://github.com/apache/lucene.git
tests
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/branches/lucene4547@1409999 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
e564093c50
commit
a204337ed8
|
@ -123,6 +123,48 @@ public class TestDemoDocValue extends LuceneTestCase {
|
|||
ireader.close();
|
||||
directory.close();
|
||||
}
|
||||
|
||||
public void testTwoDocumentsMerged() throws IOException {
|
||||
Analyzer analyzer = new MockAnalyzer(random());
|
||||
|
||||
// Store the index in memory:
|
||||
Directory directory = newDirectory();
|
||||
// To store an index on disk, use this instead:
|
||||
// Directory directory = FSDirectory.open(new File("/tmp/testindex"));
|
||||
// we don't use RandomIndexWriter because it might add more docvalues than we expect !!!!1
|
||||
IndexWriterConfig iwc = newIndexWriterConfig(TEST_VERSION_CURRENT, analyzer);
|
||||
iwc.setMergePolicy(newLogMergePolicy());
|
||||
IndexWriter iwriter = new IndexWriter(directory, iwc);
|
||||
Document doc = new Document();
|
||||
doc.add(newField("id", "0", StringField.TYPE_STORED));
|
||||
doc.add(new PackedLongDocValuesField("dv", 1));
|
||||
iwriter.addDocument(doc);
|
||||
iwriter.commit();
|
||||
doc = new Document();
|
||||
doc.add(newField("id", "1", StringField.TYPE_STORED));
|
||||
doc.add(new PackedLongDocValuesField("dv", 3));
|
||||
iwriter.addDocument(doc);
|
||||
iwriter.forceMerge(1);
|
||||
iwriter.close();
|
||||
|
||||
// Now search the index:
|
||||
IndexReader ireader = DirectoryReader.open(directory); // read-only=true
|
||||
assert ireader.leaves().size() == 1;
|
||||
DocValues dv = ireader.leaves().get(0).reader().docValues("dv");
|
||||
for(int i=0;i<2;i++) {
|
||||
StoredDocument doc2 = ireader.leaves().get(0).reader().document(i);
|
||||
long expected;
|
||||
if (doc2.get("id").equals("0")) {
|
||||
expected = 1;
|
||||
} else {
|
||||
expected = 3;
|
||||
}
|
||||
assertEquals(expected, dv.getSource().getInt(i));
|
||||
}
|
||||
|
||||
ireader.close();
|
||||
directory.close();
|
||||
}
|
||||
|
||||
public void testBigRange() throws IOException {
|
||||
Analyzer analyzer = new MockAnalyzer(random());
|
||||
|
@ -198,6 +240,48 @@ public class TestDemoDocValue extends LuceneTestCase {
|
|||
ireader.close();
|
||||
directory.close();
|
||||
}
|
||||
|
||||
public void testBytesTwoDocumentsMerged() throws IOException {
|
||||
Analyzer analyzer = new MockAnalyzer(random());
|
||||
|
||||
// Store the index in memory:
|
||||
Directory directory = newDirectory();
|
||||
// To store an index on disk, use this instead:
|
||||
// Directory directory = FSDirectory.open(new File("/tmp/testindex"));
|
||||
// we don't use RandomIndexWriter because it might add more docvalues than we expect !!!!1
|
||||
IndexWriterConfig iwc = newIndexWriterConfig(TEST_VERSION_CURRENT, analyzer);
|
||||
iwc.setMergePolicy(newLogMergePolicy());
|
||||
IndexWriter iwriter = new IndexWriter(directory, iwc);
|
||||
Document doc = new Document();
|
||||
doc.add(newField("id", "0", StringField.TYPE_STORED));
|
||||
doc.add(new StraightBytesDocValuesField("dv", new BytesRef("hello world 1")));
|
||||
iwriter.addDocument(doc);
|
||||
iwriter.commit();
|
||||
doc = new Document();
|
||||
doc.add(newField("id", "1", StringField.TYPE_STORED));
|
||||
doc.add(new StraightBytesDocValuesField("dv", new BytesRef("hello world 2")));
|
||||
iwriter.addDocument(doc);
|
||||
iwriter.forceMerge(1);
|
||||
iwriter.close();
|
||||
|
||||
// Now search the index:
|
||||
IndexReader ireader = DirectoryReader.open(directory); // read-only=true
|
||||
assert ireader.leaves().size() == 1;
|
||||
DocValues dv = ireader.leaves().get(0).reader().docValues("dv");
|
||||
for(int i=0;i<2;i++) {
|
||||
StoredDocument doc2 = ireader.leaves().get(0).reader().document(i);
|
||||
String expected;
|
||||
if (doc2.get("id").equals("0")) {
|
||||
expected = "hello world 1";
|
||||
} else {
|
||||
expected = "hello world 2";
|
||||
}
|
||||
assertEquals(expected, dv.getSource().getBytes(i, new BytesRef()).utf8ToString());
|
||||
}
|
||||
|
||||
ireader.close();
|
||||
directory.close();
|
||||
}
|
||||
|
||||
public void testDemoSortedBytes() throws IOException {
|
||||
Analyzer analyzer = new MockAnalyzer(random());
|
||||
|
|
Loading…
Reference in New Issue