You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2013/01/18 15:59:37 UTC
svn commit: r1435170 -
/lucene/dev/branches/lucene4547/lucene/queries/src/test/org/apache/lucene/queries/function/TestDocValuesFieldSources.java
Author: rmuir
Date: Fri Jan 18 14:59:37 2013
New Revision: 1435170
URL: http://svn.apache.org/viewvc?rev=1435170&view=rev
Log:
fix test
Modified:
lucene/dev/branches/lucene4547/lucene/queries/src/test/org/apache/lucene/queries/function/TestDocValuesFieldSources.java
Modified: lucene/dev/branches/lucene4547/lucene/queries/src/test/org/apache/lucene/queries/function/TestDocValuesFieldSources.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/queries/src/test/org/apache/lucene/queries/function/TestDocValuesFieldSources.java?rev=1435170&r1=1435169&r2=1435170&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/queries/src/test/org/apache/lucene/queries/function/TestDocValuesFieldSources.java (original)
+++ lucene/dev/branches/lucene4547/lucene/queries/src/test/org/apache/lucene/queries/function/TestDocValuesFieldSources.java Fri Jan 18 14:59:37 2013
@@ -18,84 +18,46 @@ package org.apache.lucene.queries.functi
*/
import java.io.IOException;
-import java.util.Date;
import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.document.ByteDocValuesField;
-import org.apache.lucene.document.DerefBytesDocValuesField;
+import org.apache.lucene.document.BinaryDocValuesField;
import org.apache.lucene.document.Document;
-import org.apache.lucene.document.DoubleDocValuesField;
import org.apache.lucene.document.Field;
-import org.apache.lucene.document.FloatDocValuesField;
import org.apache.lucene.document.IntDocValuesField;
import org.apache.lucene.document.LongDocValuesField;
-import org.apache.lucene.document.PackedLongDocValuesField;
-import org.apache.lucene.document.ShortDocValuesField;
import org.apache.lucene.document.SortedBytesDocValuesField;
-import org.apache.lucene.document.StraightBytesDocValuesField;
import org.apache.lucene.index.AtomicReaderContext;
import org.apache.lucene.index.DirectoryReader;
-import org.apache.lucene.index.DocValues;
+import org.apache.lucene.index.FieldInfo.DocValuesType;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.RandomIndexWriter;
-import org.apache.lucene.queries.function.valuesource.DateDocValuesFieldSource;
-import org.apache.lucene.queries.function.valuesource.NumericDocValuesFieldSource;
-import org.apache.lucene.queries.function.valuesource.StrDocValuesFieldSource;
+import org.apache.lucene.queries.function.valuesource.LongFieldSource;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util._TestUtil;
import org.apache.lucene.util.packed.PackedInts;
+import org.apache.solr.schema.StrFieldSource;
import com.carrotsearch.randomizedtesting.generators.RandomInts;
public class TestDocValuesFieldSources extends LuceneTestCase {
- public void test(DocValues.Type type) throws IOException {
+ public void test(DocValuesType type) throws IOException {
Directory d = newDirectory();
IndexWriterConfig iwConfig = newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random()));
final int nDocs = atLeast(50);
final Field id = new IntDocValuesField("id", 0);
final Field f;
switch (type) {
- case BYTES_FIXED_DEREF:
- f = new DerefBytesDocValuesField("dv", new BytesRef(), true);
+ case BINARY:
+ f = new BinaryDocValuesField("dv", new BytesRef());
break;
- case BYTES_FIXED_SORTED:
- f = new SortedBytesDocValuesField("dv", new BytesRef(), true);
+ case SORTED:
+ f = new SortedBytesDocValuesField("dv", new BytesRef());
break;
- case BYTES_FIXED_STRAIGHT:
- f = new StraightBytesDocValuesField("dv", new BytesRef(), true);
- break;
- case BYTES_VAR_DEREF:
- f = new DerefBytesDocValuesField("dv", new BytesRef(), false);
- break;
- case BYTES_VAR_SORTED:
- f = new SortedBytesDocValuesField("dv", new BytesRef(), false);
- break;
- case BYTES_VAR_STRAIGHT:
- f = new StraightBytesDocValuesField("dv", new BytesRef(), false);
- break;
- case FIXED_INTS_8:
- f = new ByteDocValuesField("dv", (byte) 0);
- break;
- case FIXED_INTS_16:
- f = new ShortDocValuesField("dv", (short) 0);
- break;
- case FIXED_INTS_32:
- f = new IntDocValuesField("dv", 0);
- break;
- case FIXED_INTS_64:
- f = new LongDocValuesField("dv", 0L);
- break;
- case VAR_INTS:
- f = new PackedLongDocValuesField("dv", 0L);
- break;
- case FLOAT_32:
- f = new FloatDocValuesField("dv", 0f);
- break;
- case FLOAT_64:
- f = new DoubleDocValuesField("dv", 0d);
+ case NUMERIC:
+ f = new LongDocValuesField("dv", 0);
break;
default:
throw new AssertionError();
@@ -110,44 +72,16 @@ public class TestDocValuesFieldSources e
for (int i = 0; i < nDocs; ++i) {
id.setIntValue(i);
switch (type) {
- case BYTES_FIXED_DEREF:
- case BYTES_FIXED_SORTED:
- case BYTES_FIXED_STRAIGHT:
- vals[i] = _TestUtil.randomFixedByteLengthUnicodeString(random(), 10);
- f.setBytesValue(new BytesRef((String) vals[i]));
- break;
- case BYTES_VAR_DEREF:
- case BYTES_VAR_SORTED:
- case BYTES_VAR_STRAIGHT:
+ case SORTED:
+ case BINARY:
vals[i] = _TestUtil.randomSimpleString(random(), 20);
f.setBytesValue(new BytesRef((String) vals[i]));
break;
- case FIXED_INTS_8:
- vals[i] = (byte) random().nextInt(256);
- f.setByteValue((Byte) vals[i]);
- break;
- case FIXED_INTS_16:
- vals[i] = (short) random().nextInt(1 << 16);
- f.setShortValue((Short) vals[i]);
- break;
- case FIXED_INTS_32:
- vals[i] = random().nextInt();
- f.setIntValue((Integer) vals[i]);
- break;
- case FIXED_INTS_64:
- case VAR_INTS:
+ case NUMERIC:
final int bitsPerValue = RandomInts.randomIntBetween(random(), 1, 31); // keep it an int
vals[i] = (long) random().nextInt((int) PackedInts.maxValue(bitsPerValue));
f.setLongValue((Long) vals[i]);
break;
- case FLOAT_32:
- vals[i] = random().nextFloat();
- f.setFloatValue((Float) vals[i]);
- break;
- case FLOAT_64:
- vals[i] = random().nextDouble();
- f.setDoubleValue((Double) vals[i]);
- break;
}
iw.addDocument(document);
if (random().nextBoolean() && i % 10 == 9) {
@@ -158,32 +92,15 @@ public class TestDocValuesFieldSources e
DirectoryReader rd = DirectoryReader.open(d);
for (AtomicReaderContext leave : rd.leaves()) {
- final FunctionValues ids = new NumericDocValuesFieldSource("id", false).getValues(null, leave);
+ final FunctionValues ids = new LongFieldSource("id").getValues(null, leave);
final ValueSource vs;
- final boolean direct = random().nextBoolean();
switch (type) {
- case BYTES_FIXED_DEREF:
- case BYTES_FIXED_SORTED:
- case BYTES_FIXED_STRAIGHT:
- case BYTES_VAR_DEREF:
- case BYTES_VAR_SORTED:
- case BYTES_VAR_STRAIGHT:
- vs = new StrDocValuesFieldSource("dv", direct);
- break;
- case FLOAT_32:
- case FLOAT_64:
- case FIXED_INTS_8:
- case FIXED_INTS_16:
- case FIXED_INTS_32:
- vs = new NumericDocValuesFieldSource("dv", direct);
+ case BINARY:
+ case SORTED:
+ vs = new StrFieldSource("dv");
break;
- case FIXED_INTS_64:
- case VAR_INTS:
- if (random().nextBoolean()) {
- vs = new NumericDocValuesFieldSource("dv", direct);
- } else {
- vs = new DateDocValuesFieldSource("dv", direct);
- }
+ case NUMERIC:
+ vs = new LongFieldSource("dv");
break;
default:
throw new AssertionError();
@@ -192,61 +109,22 @@ public class TestDocValuesFieldSources e
BytesRef bytes = new BytesRef();
for (int i = 0; i < leave.reader().maxDoc(); ++i) {
assertTrue(values.exists(i));
- if (vs instanceof StrDocValuesFieldSource) {
+ if (vs instanceof StrFieldSource) {
assertTrue(values.objectVal(i) instanceof String);
- } else if (vs instanceof NumericDocValuesFieldSource) {
- assertTrue(values.objectVal(i) instanceof Number);
- switch (type) {
- case FIXED_INTS_8:
- assertTrue(values.objectVal(i) instanceof Byte);
- assertTrue(values.bytesVal(i, bytes));
- assertEquals(1, bytes.length);
- break;
- case FIXED_INTS_16:
- assertTrue(values.objectVal(i) instanceof Short);
- assertTrue(values.bytesVal(i, bytes));
- assertEquals(2, bytes.length);
- break;
- case FIXED_INTS_32:
- assertTrue(values.objectVal(i) instanceof Integer);
- assertTrue(values.bytesVal(i, bytes));
- assertEquals(4, bytes.length);
- break;
- case FIXED_INTS_64:
- case VAR_INTS:
- assertTrue(values.objectVal(i) instanceof Long);
- assertTrue(values.bytesVal(i, bytes));
- assertEquals(8, bytes.length);
- break;
- case FLOAT_32:
- assertTrue(values.objectVal(i) instanceof Float);
- assertTrue(values.bytesVal(i, bytes));
- assertEquals(4, bytes.length);
- break;
- case FLOAT_64:
- assertTrue(values.objectVal(i) instanceof Double);
- assertTrue(values.bytesVal(i, bytes));
- assertEquals(8, bytes.length);
- break;
- default:
- throw new AssertionError();
- }
- } else if (vs instanceof DateDocValuesFieldSource) {
- assertTrue(values.objectVal(i) instanceof Date);
+ } else if (vs instanceof LongFieldSource) {
+ assertTrue(values.objectVal(i) instanceof Long);
+ assertTrue(values.bytesVal(i, bytes));
+ assertEquals(8, bytes.length);
} else {
throw new AssertionError();
}
Object expected = vals[ids.intVal(i)];
switch (type) {
- case BYTES_VAR_SORTED:
- case BYTES_FIXED_SORTED:
+ case SORTED:
values.ordVal(i); // no exception
assertTrue(values.numOrd() >= 1);
- case BYTES_FIXED_DEREF:
- case BYTES_FIXED_STRAIGHT:
- case BYTES_VAR_DEREF:
- case BYTES_VAR_STRAIGHT:
+ case BINARY:
assertEquals(expected, values.objectVal(i));
assertEquals(expected, values.strVal(i));
assertEquals(expected, values.objectVal(i));
@@ -254,17 +132,7 @@ public class TestDocValuesFieldSources e
assertTrue(values.bytesVal(i, bytes));
assertEquals(new BytesRef((String) expected), bytes);
break;
- case FLOAT_32:
- assertEquals(((Number) expected).floatValue(), values.floatVal(i), 0.001);
- break;
- case FLOAT_64:
- assertEquals(((Number) expected).doubleValue(), values.doubleVal(i), 0.001d);
- break;
- case FIXED_INTS_8:
- case FIXED_INTS_16:
- case FIXED_INTS_32:
- case FIXED_INTS_64:
- case VAR_INTS:
+ case NUMERIC:
assertEquals(((Number) expected).longValue(), values.longVal(i));
break;
}
@@ -275,7 +143,7 @@ public class TestDocValuesFieldSources e
}
public void test() throws IOException {
- for (DocValues.Type type : DocValues.Type.values()) {
+ for (DocValuesType type : DocValuesType.values()) {
test(type);
}
}