use of com.yahoo.document.datatypes.IntegerFieldValue in project vespa by vespa-engine.
the class DocumentUpdateTestCase method requireThatArrayOfStructElementAddIsProcessedCorrectly.
@Test
public void requireThatArrayOfStructElementAddIsProcessedCorrectly() throws ParseException {
DocumentType docType = new DocumentType("my_input");
docType.addField(new Field("my_str", DataType.getArray(DataType.STRING)));
docType.addField(new Field("my_pos", DataType.getArray(PositionDataType.INSTANCE)));
DocumentUpdate docUpdate = new DocumentUpdate(docType, "doc:scheme:");
docUpdate.addFieldUpdate(FieldUpdate.createAdd(docType.getField("my_str"), new StringFieldValue("6;9")));
docUpdate = Expression.execute(Expression.fromString("input my_str | for_each { to_pos } | index my_pos"), docUpdate);
assertNotNull(docUpdate);
assertEquals(0, docUpdate.getFieldPathUpdates().size());
assertEquals(1, docUpdate.getFieldUpdates().size());
FieldUpdate fieldUpd = docUpdate.getFieldUpdate(0);
assertNotNull(fieldUpd);
assertEquals(docType.getField("my_pos"), fieldUpd.getField());
assertEquals(1, fieldUpd.getValueUpdates().size());
ValueUpdate valueUpd = fieldUpd.getValueUpdate(0);
assertNotNull(valueUpd);
assertTrue(valueUpd instanceof AddValueUpdate);
Object val = valueUpd.getValue();
assertNotNull(val);
assertTrue(val instanceof Struct);
Struct pos = (Struct) val;
assertEquals(PositionDataType.INSTANCE, pos.getDataType());
assertEquals(new IntegerFieldValue(6), PositionDataType.getXValue(pos));
assertEquals(new IntegerFieldValue(9), PositionDataType.getYValue(pos));
}
use of com.yahoo.document.datatypes.IntegerFieldValue in project vespa by vespa-engine.
the class ExpressionVisitorTestCase method requireThatAllExpressionsAreVisited.
@SuppressWarnings("unchecked")
@Test
public void requireThatAllExpressionsAreVisited() {
assertCount(3, new ArithmeticExpression(new InputExpression("foo"), ArithmeticExpression.Operator.ADD, new InputExpression("bar")));
assertCount(1, new AttributeExpression("foo"));
assertCount(1, new Base64DecodeExpression());
assertCount(1, new Base64EncodeExpression());
assertCount(3, new CatExpression(new InputExpression("foo"), new IndexExpression("bar")));
assertCount(1, new ClearStateExpression());
assertCount(1, new EchoExpression());
assertCount(2, new ForEachExpression(new IndexExpression("foo")));
assertCount(1, new GetFieldExpression("foo"));
assertCount(1, new GetVarExpression("foo"));
assertCount(2, new GuardExpression(new IndexExpression("foo")));
assertCount(1, new HexDecodeExpression());
assertCount(1, new HexEncodeExpression());
assertCount(1, new HostNameExpression());
assertCount(5, new IfThenExpression(new InputExpression("foo"), IfThenExpression.Comparator.EQ, new InputExpression("bar"), new IndexExpression("baz"), new IndexExpression("cox")));
assertCount(1, new IndexExpression("foo"));
assertCount(1, new InputExpression("foo"));
assertCount(1, new JoinExpression("foo"));
assertCount(1, new LowerCaseExpression());
assertCount(1, new NormalizeExpression(new SimpleLinguistics()));
assertCount(1, new NowExpression());
assertCount(1, new OptimizePredicateExpression());
assertCount(2, new ParenthesisExpression(new InputExpression("foo")));
assertCount(1, new RandomExpression(69));
assertCount(3, new ScriptExpression(new StatementExpression(new InputExpression("foo"))));
assertCount(3, new SelectInputExpression(new Pair<String, Expression>("foo", new IndexExpression("bar")), new Pair<String, Expression>("bar", new IndexExpression("foo"))));
assertCount(1, new SetLanguageExpression());
assertCount(1, new SetValueExpression(new IntegerFieldValue(69)));
assertCount(1, new SetVarExpression("foo"));
assertCount(1, new SplitExpression("foo"));
assertCount(2, new StatementExpression(new InputExpression("foo")));
assertCount(1, new SummaryExpression("foo"));
assertCount(1, new SubstringExpression(6, 9));
assertCount(3, new SwitchExpression(Collections.singletonMap("foo", (Expression) new IndexExpression("bar")), new InputExpression("baz")));
assertCount(1, new ThisExpression());
assertCount(1, new ToArrayExpression());
assertCount(1, new ToByteExpression());
assertCount(1, new ToDoubleExpression());
assertCount(1, new ToFloatExpression());
assertCount(1, new ToIntegerExpression());
assertCount(1, new TokenizeExpression(new SimpleLinguistics(), new AnnotatorConfig()));
assertCount(1, new ToLongExpression());
assertCount(1, new ToPositionExpression());
assertCount(1, new ToStringExpression());
assertCount(1, new ToWsetExpression(false, false));
assertCount(1, new TrimExpression());
assertCount(1, new ZCurveExpression());
}
use of com.yahoo.document.datatypes.IntegerFieldValue in project vespa by vespa-engine.
the class MathResolverTestCase method evaluate.
private static int evaluate(Expression exp) {
FieldValue val = new ExecutionContext(new SimpleTestAdapter()).execute(exp).getValue();
assertTrue(val instanceof IntegerFieldValue);
return ((IntegerFieldValue) val).getInteger();
}
use of com.yahoo.document.datatypes.IntegerFieldValue in project vespa by vespa-engine.
the class OptimizePredicateTestCase method requireThatOptimizerIsCalledWithCloneOfInput.
@Test
public void requireThatOptimizerIsCalledWithCloneOfInput() {
final Predicate predicateA = Mockito.mock(Predicate.class);
final Predicate predicateB = Mockito.mock(Predicate.class);
final PredicateFieldValue input = new PredicateFieldValue(predicateA);
ExecutionContext ctx = new ExecutionContext().setValue(input).setVariable("arity", new IntegerFieldValue(10));
FieldValue output = new OptimizePredicateExpression((predicate, options) -> {
assertNotSame(predicateA, predicate);
return predicateB;
}).execute(ctx);
assertNotSame(output, input);
assertTrue(output instanceof PredicateFieldValue);
assertSame(predicateB, ((PredicateFieldValue) output).getPredicate());
}
use of com.yahoo.document.datatypes.IntegerFieldValue in project vespa by vespa-engine.
the class RandomTestCase method requireThatRandomValueIsSet.
@Test
public void requireThatRandomValueIsSet() {
for (int i = 0; i < 666; ++i) {
ExecutionContext ctx = new ExecutionContext(new SimpleTestAdapter());
new RandomExpression(69).execute(ctx);
FieldValue val = ctx.getValue();
assertTrue(val instanceof IntegerFieldValue);
assertTrue(((IntegerFieldValue) val).getInteger() < 69);
}
}
Aggregations