use of com.yahoo.document.datatypes.IntegerFieldValue in project vespa by vespa-engine.
the class SimpleDocumentTestCase method requireThatAccessorsWorks.
@Test
public void requireThatAccessorsWorks() {
DocumentType type = new DocumentType("test");
type.addField("int", DataType.INT);
Document doc = new Document(type, "doc:scheme:");
SimpleDocument simple = new SimpleDocument(doc);
assertNull(simple.get("int"));
assertNull(doc.getFieldValue("int"));
simple.set("int", 69);
assertEquals(69, simple.get("int"));
assertEquals(new IntegerFieldValue(69), doc.getFieldValue("int"));
simple.remove("int");
assertNull(simple.get("int"));
assertNull(doc.getFieldValue("int"));
}
use of com.yahoo.document.datatypes.IntegerFieldValue in project vespa by vespa-engine.
the class AnnotationTestCase method testApi.
/**
* A test case taken from real use to verify the API ease of use
*/
@Test
public void testApi() {
// Prepare
AnnotationType type1 = new AnnotationType("type1", DataType.STRING);
AnnotationType type2 = new AnnotationType("type2", DataType.INT);
StringFieldValue output = new StringFieldValue("foo bar");
SpanTree tree;
// no shortcuts
{
SpanList root = new SpanList();
tree = new SpanTree("SpanTree1", root);
SpanNode node = new Span(0, 3);
tree.annotate(node, new Annotation(type1, new StringFieldValue("text")));
tree.annotate(node, new Annotation(type2, new IntegerFieldValue(1)));
root.add(node);
output.setSpanTree(tree);
}
// short
{
SpanList root = new SpanList();
output.setSpanTree(new SpanTree("SpanTree2", root));
SpanNode node = root.add(new Span(0, 3));
node.annotate(type1, "text").annotate(type2, 1);
}
// shorter
{
SpanList root = output.setSpanTree(new SpanTree("SpanTree3")).spanList();
root.span(0, 3).annotate(type1, "text").annotate(type2, 1);
}
// shortest
{
output.setSpanTree(new SpanTree("SpanTree4")).spanList().span(0, 3).annotate(type1, "text").annotate(type2, 1);
}
}
use of com.yahoo.document.datatypes.IntegerFieldValue in project vespa by vespa-engine.
the class ExpressionConverterTestCase method requireThatAllExpressionTypesCanBeTraversed.
@SuppressWarnings("unchecked")
@Test
public void requireThatAllExpressionTypesCanBeTraversed() {
assertConvertable(new ArithmeticExpression(new InputExpression("foo"), ArithmeticExpression.Operator.ADD, new InputExpression("bar")));
assertConvertable(new AttributeExpression("foo"));
assertConvertable(new Base64DecodeExpression());
assertConvertable(new Base64EncodeExpression());
assertConvertable(new CatExpression(new InputExpression("foo"), new IndexExpression("bar")));
assertConvertable(new ClearStateExpression());
assertConvertable(new EchoExpression());
assertConvertable(new ForEachExpression(new IndexExpression("foo")));
assertConvertable(new GetFieldExpression("foo"));
assertConvertable(new GetVarExpression("foo"));
assertConvertable(new GuardExpression(new IndexExpression("foo")));
assertConvertable(new HexDecodeExpression());
assertConvertable(new HexEncodeExpression());
assertConvertable(new HostNameExpression());
assertConvertable(new IfThenExpression(new InputExpression("foo"), IfThenExpression.Comparator.EQ, new InputExpression("bar"), new IndexExpression("baz"), new IndexExpression("cox")));
assertConvertable(new IndexExpression("foo"));
assertConvertable(new InputExpression("foo"));
assertConvertable(new JoinExpression("foo"));
assertConvertable(new LowerCaseExpression());
assertConvertable(new NormalizeExpression(new SimpleLinguistics()));
assertConvertable(new NowExpression());
assertConvertable(new OptimizePredicateExpression());
assertConvertable(new ParenthesisExpression(new InputExpression("foo")));
assertConvertable(new RandomExpression(69));
assertConvertable(new ScriptExpression(new StatementExpression(new InputExpression("foo"))));
assertConvertable(new SelectInputExpression(new Pair<String, Expression>("foo", new IndexExpression("bar")), new Pair<String, Expression>("bar", new IndexExpression("foo"))));
assertConvertable(new SetLanguageExpression());
assertConvertable(new SetValueExpression(new IntegerFieldValue(69)));
assertConvertable(new SetVarExpression("foo"));
assertConvertable(new SplitExpression("foo"));
assertConvertable(new StatementExpression(new InputExpression("foo")));
assertConvertable(new SubstringExpression(6, 9));
assertConvertable(new SummaryExpression("foo"));
assertConvertable(new SwitchExpression(Collections.singletonMap("foo", (Expression) new IndexExpression("bar")), new InputExpression("baz")));
assertConvertable(new ThisExpression());
assertConvertable(new ToArrayExpression());
assertConvertable(new ToByteExpression());
assertConvertable(new ToDoubleExpression());
assertConvertable(new ToFloatExpression());
assertConvertable(new ToIntegerExpression());
assertConvertable(new TokenizeExpression(new SimpleLinguistics(), new AnnotatorConfig()));
assertConvertable(new ToLongExpression());
assertConvertable(new ToPositionExpression());
assertConvertable(new ToStringExpression());
assertConvertable(new ToWsetExpression(false, false));
assertConvertable(new TrimExpression());
assertConvertable(new ZCurveExpression());
}
use of com.yahoo.document.datatypes.IntegerFieldValue in project vespa by vespa-engine.
the class GetVarTestCase method requireThatGetVarCanBeUsedToImplementSum.
@Test
public void requireThatGetVarCanBeUsedToImplementSum() throws ParseException {
ExecutionContext ctx = new ExecutionContext(new SimpleTestAdapter());
ctx.setOutputValue(null, "in", new StringFieldValue("0;1;2;3;4;5;6;7;8;9"));
ScriptExpression.fromString("{ 0 | set_var tmp; " + " input in | split ';' | for_each { to_int + get_var tmp | set_var tmp };" + " get_var tmp | attribute out; }").execute(ctx);
FieldValue val = ctx.getInputValue("out");
assertTrue(val instanceof IntegerFieldValue);
assertEquals(45, ((IntegerFieldValue) val).getInteger());
}
use of com.yahoo.document.datatypes.IntegerFieldValue in project vespa by vespa-engine.
the class SimpleAdapterFactoryTestCase method requireThatFieldUpdateCanHaveManyPartialUpdatesForOneField.
@Test
public void requireThatFieldUpdateCanHaveManyPartialUpdatesForOneField() {
DocumentType docType = new DocumentType("my_type");
DocumentUpdate docUpdate = new DocumentUpdate(docType, "doc:foo:1");
Field field = new Field("my_int", DataType.INT);
docType.addField(field);
FieldUpdate fieldUpdate = FieldUpdate.create(field);
fieldUpdate.addValueUpdate(ValueUpdate.createIncrement(1));
fieldUpdate.addValueUpdate(ValueUpdate.createIncrement(2));
fieldUpdate.addValueUpdate(ValueUpdate.createIncrement(4));
docUpdate.addFieldUpdate(fieldUpdate);
SimpleAdapterFactory factory = new SimpleAdapterFactory();
List<UpdateAdapter> adapters = factory.newUpdateAdapterList(docUpdate);
assertEquals(4, adapters.size());
UpdateAdapter adapter = adapters.get(0);
assertNotNull(adapter);
assertEquals(new IntegerFieldValue(1), adapter.getInputValue("my_int"));
assertNotNull(adapter = adapters.get(1));
assertEquals(new IntegerFieldValue(2), adapter.getInputValue("my_int"));
assertNotNull(adapter = adapters.get(2));
assertEquals(new IntegerFieldValue(4), adapter.getInputValue("my_int"));
assertNotNull(adapter = adapters.get(3));
// always add an adapter for complete updates
assertNull(adapter.getInputValue("my_int"));
}
Aggregations