diff options
19 files changed, 88 insertions, 78 deletions
diff --git a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ArithmeticExpression.java b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ArithmeticExpression.java index 02c68bdf967..68b9e79e092 100644 --- a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ArithmeticExpression.java +++ b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ArithmeticExpression.java @@ -46,8 +46,7 @@ public final class ArithmeticExpression extends CompositeExpression { private final Expression rhs; public ArithmeticExpression(Expression lhs, Operator op, Expression rhs) { - super(null); - setInputType(requiredInputType(lhs, rhs)); + super(requiredInputType(lhs, rhs)); lhs.getClass(); // throws NullPointerException op.getClass(); rhs.getClass(); @@ -82,7 +81,7 @@ public final class ArithmeticExpression extends CompositeExpression { context.setValue(input).execute(rhs).getValue())); } - private DataType requiredInputType(Expression lhs, Expression rhs) { + private static DataType requiredInputType(Expression lhs, Expression rhs) { DataType lhsType = lhs.requiredInputType(); DataType rhsType = rhs.requiredInputType(); if (lhsType == null) { @@ -92,7 +91,7 @@ public final class ArithmeticExpression extends CompositeExpression { return lhsType; } if (!lhsType.equals(rhsType)) { - throw new VerificationException(this, "Operands require conflicting input types, " + + throw new VerificationException(ArithmeticExpression.class, "Operands require conflicting input types, " + lhsType.getName() + " vs " + rhsType.getName() + "."); } return lhsType; diff --git a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/CatExpression.java b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/CatExpression.java index be6b6db6a9a..f395446cb10 100644 --- a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/CatExpression.java +++ b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/CatExpression.java @@ -18,12 +18,11 @@ import java.util.*; public final class CatExpression extends ExpressionList<Expression> { public CatExpression(Expression... lst) { - super(Arrays.asList(lst)); - setInputType(resolveInputType()); + this(Arrays.asList(lst)); } public CatExpression(Collection<? extends Expression> lst) { - super(lst); + super(lst, resolveInputType(lst)); } @Override @@ -63,17 +62,17 @@ public final class CatExpression extends ExpressionList<Expression> { context.setValue(resolveOutputType(types)); } - private DataType resolveInputType() { + private static DataType resolveInputType(Collection<? extends Expression> list) { DataType prev = null; - for (Expression exp : this) { + for (Expression exp : list) { DataType next = exp.requiredInputType(); if (next == null) { // ignore } else if (prev == null) { prev = next; } else if (!prev.isAssignableFrom(next)) { - throw new VerificationException(this, "Operands require conflicting input types, " + - prev.getName() + " vs " + next.getName() + "."); + throw new VerificationException(CatExpression.class, "Operands require conflicting input types, " + + prev.getName() + " vs " + next.getName() + "."); } } return prev; diff --git a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/Expression.java b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/Expression.java index 3d8da1a8b77..231446b9c62 100644 --- a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/Expression.java +++ b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/Expression.java @@ -17,14 +17,12 @@ import com.yahoo.vespa.objects.Selectable; */ public abstract class Expression extends Selectable { - private DataType inputType; + private final DataType inputType; protected Expression(DataType inputType) { this.inputType = inputType; } - protected void setInputType(DataType inputType) { - this.inputType = inputType; - } + public final FieldValue execute(FieldValue val) { return execute(new ExecutionContext().setValue(val)); } diff --git a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ExpressionList.java b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ExpressionList.java index 6c83835559c..ca929773a4c 100644 --- a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ExpressionList.java +++ b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ExpressionList.java @@ -1,6 +1,7 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.indexinglanguage.expressions; +import com.yahoo.document.DataType; import com.yahoo.document.DocumentType; import com.yahoo.vespa.objects.ObjectOperation; import com.yahoo.vespa.objects.ObjectPredicate; @@ -17,12 +18,8 @@ public abstract class ExpressionList<T extends Expression> extends CompositeExpr private final List<T> expressions = new LinkedList<T>(); - protected ExpressionList() { - super(null); - } - - protected ExpressionList(Iterable<? extends T> lst) { - super(null); + protected ExpressionList(Iterable<? extends T> lst, DataType inputType) { + super(inputType); for (T exp : lst) { this.expressions.add(exp); } diff --git a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/IfThenExpression.java b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/IfThenExpression.java index 16365e1264b..9e7f60aa3e3 100644 --- a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/IfThenExpression.java +++ b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/IfThenExpression.java @@ -46,13 +46,12 @@ public final class IfThenExpression extends CompositeExpression { } public IfThenExpression(Expression lhs, Comparator cmp, Expression rhs, Expression ifTrue, Expression ifFalse) { - super(null); + super(resolveInputType(lhs, rhs, ifTrue, ifFalse)); this.lhs = lhs; this.cmp = cmp; this.rhs = rhs; this.ifTrue = ifTrue; this.ifFalse = ifFalse; - setInputType(resolveInputType()); } public Expression getLeftHandSide() { @@ -114,7 +113,7 @@ public final class IfThenExpression extends CompositeExpression { select(ifFalse, predicate, operation); } - private DataType resolveInputType() { + private static DataType resolveInputType(Expression lhs, Expression rhs, Expression ifTrue, Expression ifFalse) { DataType input = null; input = resolveRequiredInputType(input, lhs.requiredInputType()); input = resolveRequiredInputType(input, rhs.requiredInputType()); @@ -174,7 +173,7 @@ public final class IfThenExpression extends CompositeExpression { return ret; } - private DataType resolveRequiredInputType(DataType prev, DataType next) { + private static DataType resolveRequiredInputType(DataType prev, DataType next) { if (next == null) { return prev; } @@ -182,7 +181,7 @@ public final class IfThenExpression extends CompositeExpression { return next; } if (!prev.equals(next)) { - throw new VerificationException(this, "Operands require conflicting input types, " + + throw new VerificationException(IfThenExpression.class, "Operands require conflicting input types, " + prev.getName() + " vs " + next.getName() + "."); } return prev; diff --git a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ScriptExpression.java b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ScriptExpression.java index 275ca58d4db..3e9f6ad5032 100644 --- a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ScriptExpression.java +++ b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ScriptExpression.java @@ -12,6 +12,7 @@ import com.yahoo.vespa.indexinglanguage.parser.ParseException; import java.util.Arrays; import java.util.Collection; +import java.util.Collections; import java.util.Iterator; /** @@ -20,18 +21,15 @@ import java.util.Iterator; public final class ScriptExpression extends ExpressionList<StatementExpression> { public ScriptExpression() { - super(); - setInputType(resolveInputType()); + this(Collections.emptyList()); } public ScriptExpression(StatementExpression... lst) { - super(Arrays.asList(lst)); - setInputType(resolveInputType()); + this(Arrays.asList(lst)); } public ScriptExpression(Collection<? extends StatementExpression> lst) { - super(lst); - setInputType(resolveInputType()); + super(lst, resolveInputType(lst)); } @Override @@ -52,14 +50,14 @@ public final class ScriptExpression extends ExpressionList<StatementExpression> context.setValue(input); } - private DataType resolveInputType() { + private static DataType resolveInputType(Collection<? extends StatementExpression> list) { DataType prev = null; - for (Expression exp : this) { + for (Expression exp : list) { DataType next = exp.requiredInputType(); if (prev == null) { prev = next; } else if (next != null && !prev.isAssignableFrom(next)) { - throw new VerificationException(this, "Statements require conflicting input types, " + + throw new VerificationException(ScriptExpression.class, "Statements require conflicting input types, " + prev.getName() + " vs " + next.getName() + "."); } } diff --git a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/StatementExpression.java b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/StatementExpression.java index eb6b5563584..422457d18fa 100644 --- a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/StatementExpression.java +++ b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/StatementExpression.java @@ -10,6 +10,7 @@ import com.yahoo.vespa.indexinglanguage.parser.IndexingInput; import com.yahoo.vespa.indexinglanguage.parser.ParseException; import java.util.Arrays; +import java.util.Collection; import java.util.Iterator; import java.util.LinkedList; import java.util.List; @@ -21,12 +22,14 @@ public final class StatementExpression extends ExpressionList<Expression> { public StatementExpression(Expression... lst) { this(Arrays.asList(lst)); - setInputType(resolveInputType()); } public StatementExpression(Iterable<Expression> lst) { - super(filterList(lst)); - setInputType(resolveInputType()); + this(filterList(lst), null); + } + + private StatementExpression(Iterable<Expression> list, Object unused) { + super(list, resolveInputType(list)); } @Override @@ -43,12 +46,13 @@ public final class StatementExpression extends ExpressionList<Expression> { } } - private DataType resolveInputType() { - for (Expression exp : this) { + private static DataType resolveInputType(Iterable<Expression> lst) { + for (Expression exp : lst) { DataType type = exp.requiredInputType(); if (type != null) { return type; } + type = exp.createdOutputType(); if (type != null) { return null; diff --git a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/VerificationException.java b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/VerificationException.java index 32f337f500c..836600caa2b 100644 --- a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/VerificationException.java +++ b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/VerificationException.java @@ -6,16 +6,33 @@ package com.yahoo.vespa.indexinglanguage.expressions; */ public class VerificationException extends RuntimeException { - private final Expression exp; + private final Class<?> type; + private final String exp; public VerificationException(Expression exp, String msg) { super(msg); - this.exp = exp; + if (exp != null) { + this.type = exp.getClass(); + this.exp = exp.toString(); + } else { + this.type = null; + this.exp = "null"; + } } - public Expression getExpression() { + + public VerificationException(Class<?> exp, String msg) { + super(msg); + this.type = exp; + this.exp = exp.getName(); + } + + public String getExpression() { return exp; } + public Class<?> getExpressionType() { + return type; + } @Override public String toString() { diff --git a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/ScriptTestCase.java b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/ScriptTestCase.java index f3cd40d71c5..58e80b5eb2b 100644 --- a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/ScriptTestCase.java +++ b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/ScriptTestCase.java @@ -53,7 +53,7 @@ public class ScriptTestCase { exp.verify(input); fail(); } catch (VerificationException e) { - assertTrue(e.getExpression() instanceof ScriptExpression); + assertTrue(e.getExpressionType().equals(ScriptExpression.class)); assertEquals("Expected any input, got null.", e.getMessage()); } } diff --git a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/ArithmeticTestCase.java b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/ArithmeticTestCase.java index c930f4e4d38..8b7ea5a141b 100644 --- a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/ArithmeticTestCase.java +++ b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/ArithmeticTestCase.java @@ -82,7 +82,7 @@ public class ArithmeticTestCase { @Test public void requireThatOperandInputCanBeNull() { SimpleExpression reqNull = new SimpleExpression(); - SimpleExpression reqInt = new SimpleExpression().setRequiredInput(DataType.INT); + SimpleExpression reqInt = new SimpleExpression(DataType.INT); assertNull(newArithmetic(reqNull, Operator.ADD, reqNull).requiredInputType()); assertEquals(DataType.INT, newArithmetic(reqInt, Operator.ADD, reqNull).requiredInputType()); assertEquals(DataType.INT, newArithmetic(reqInt, Operator.ADD, reqInt).requiredInputType()); @@ -91,10 +91,10 @@ public class ArithmeticTestCase { @Test public void requireThatOperandsAreInputCompatible() { - assertVerify(new SimpleExpression().setRequiredInput(DataType.INT), Operator.ADD, - new SimpleExpression().setRequiredInput(DataType.INT), DataType.INT); - assertVerifyThrows(new SimpleExpression().setRequiredInput(DataType.INT), Operator.ADD, - new SimpleExpression().setRequiredInput(DataType.STRING), null, + assertVerify(new SimpleExpression(DataType.INT), Operator.ADD, + new SimpleExpression(DataType.INT), DataType.INT); + assertVerifyThrows(new SimpleExpression(DataType.INT), Operator.ADD, + new SimpleExpression(DataType.STRING), null, "Operands require conflicting input types, int vs string."); } diff --git a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/CatTestCase.java b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/CatTestCase.java index e83c18786bc..1b9c546fa19 100644 --- a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/CatTestCase.java +++ b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/CatTestCase.java @@ -46,19 +46,19 @@ public class CatTestCase { public void requireThatExpressionCanBeVerified() { assertVerify(new SetValueExpression(new StringFieldValue("foo")), new SetValueExpression(new StringFieldValue("bar")), null); - assertVerify(new SimpleExpression().setRequiredInput(DataType.STRING), - new SimpleExpression().setRequiredInput(DataType.STRING), DataType.STRING); + assertVerify(new SimpleExpression(DataType.STRING), + new SimpleExpression(DataType.STRING), DataType.STRING); assertVerifyThrows(new SimpleExpression().setCreatedOutput(null), new SimpleExpression().setCreatedOutput(DataType.STRING), null, "Attempting to concatenate a null value "); - assertVerifyThrows(new SimpleExpression().setRequiredInput(DataType.STRING), - new SimpleExpression().setRequiredInput(DataType.INT), null, + assertVerifyThrows(new SimpleExpression(DataType.STRING), + new SimpleExpression(DataType.INT), null, "Operands require conflicting input types, string vs int."); - assertVerifyThrows(new SimpleExpression().setRequiredInput(DataType.STRING), - new SimpleExpression().setRequiredInput(DataType.STRING), null, + assertVerifyThrows(new SimpleExpression(DataType.STRING), + new SimpleExpression(DataType.STRING), null, "Expected string input, got null."); - assertVerifyThrows(new SimpleExpression().setRequiredInput(DataType.STRING), - new SimpleExpression().setRequiredInput(DataType.STRING), DataType.INT, + assertVerifyThrows(new SimpleExpression(DataType.STRING), + new SimpleExpression(DataType.STRING), DataType.INT, "Expected string input, got int."); } diff --git a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/ExpressionTestCase.java b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/ExpressionTestCase.java index c5ae67d1d47..902e091d17c 100644 --- a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/ExpressionTestCase.java +++ b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/ExpressionTestCase.java @@ -62,7 +62,7 @@ public class ExpressionTestCase { } private static Expression newRequiredInput(DataType requiredInput) { - return new SimpleExpression().setRequiredInput(requiredInput); + return new SimpleExpression(requiredInput); } private static Expression newCreatedOutput(DataType createdOutput, FieldValue actualOutput) { diff --git a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/IfThenTestCase.java b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/IfThenTestCase.java index 4d7f1cb02d1..95366111176 100644 --- a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/IfThenTestCase.java +++ b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/IfThenTestCase.java @@ -263,10 +263,10 @@ public class IfThenTestCase { } private static Expression newRequiredInput(DataType lhs, Comparator cmp, DataType rhs, DataType ifTrue, DataType ifFalse) { - return new IfThenExpression(new SimpleExpression().setRequiredInput(lhs), cmp, - new SimpleExpression().setRequiredInput(rhs), - new SimpleExpression().setRequiredInput(ifTrue), - ifFalse != null ? new SimpleExpression().setRequiredInput(ifFalse) : null); + return new IfThenExpression(new SimpleExpression(lhs), cmp, + new SimpleExpression(rhs), + new SimpleExpression(ifTrue), + ifFalse != null ? new SimpleExpression(ifFalse) : null); } private static class MyFieldValue extends FieldValue { diff --git a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/OutputAssert.java b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/OutputAssert.java index 7c0b2aa98a4..810863478ec 100644 --- a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/OutputAssert.java +++ b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/OutputAssert.java @@ -28,7 +28,7 @@ class OutputAssert { assertVerify(new MyAdapter(null), DataType.INT, exp); assertVerify(new MyAdapter(null), DataType.STRING, exp); assertVerifyThrows(new MyAdapter(null), null, exp, "Expected any input, got null."); - assertVerifyThrows(new MyAdapter(new VerificationException(null, "foo")), DataType.INT, exp, "foo"); + assertVerifyThrows(new MyAdapter(new VerificationException((Expression) null, "foo")), DataType.INT, exp, "foo"); } public static void assertVerify(FieldTypeAdapter adapter, DataType value, Expression exp) { diff --git a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/SetVarTestCase.java b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/SetVarTestCase.java index 66eb29796ad..85039260cb0 100644 --- a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/SetVarTestCase.java +++ b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/SetVarTestCase.java @@ -68,7 +68,7 @@ public class SetVarTestCase { new SetVarExpression("out").verify(ctx); fail(); } catch (VerificationException e) { - assertTrue(e.getExpression() instanceof SetVarExpression); + assertTrue(e.getExpressionType().equals(SetVarExpression.class)); assertEquals("Attempting to assign conflicting types to variable 'out', int vs string.", e.getMessage()); } } diff --git a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/SimpleExpression.java b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/SimpleExpression.java index c771389ac1b..462189384c6 100644 --- a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/SimpleExpression.java +++ b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/SimpleExpression.java @@ -18,6 +18,10 @@ final class SimpleExpression extends Expression { public SimpleExpression() { super(null); } + public SimpleExpression(DataType requiredInput) { + super(requiredInput); + } + public SimpleExpression setExecuteValue(FieldValue executeValue) { this.hasExecuteValue = true; this.executeValue = executeValue; @@ -30,11 +34,6 @@ final class SimpleExpression extends Expression { return this; } - public SimpleExpression setRequiredInput(DataType requiredInput) { - setInputType(requiredInput); - return this; - } - public SimpleExpression setCreatedOutput(DataType createdOutput) { this.createdOutput = createdOutput; return this; @@ -92,16 +91,16 @@ final class SimpleExpression extends Expression { } public static SimpleExpression newOutput(DataType createdOutput) { - return new SimpleExpression().setCreatedOutput(createdOutput) + return new SimpleExpression(null).setCreatedOutput(createdOutput) .setVerifyValue(createdOutput); } public static SimpleExpression newRequired(DataType requiredInput) { - return new SimpleExpression().setRequiredInput(requiredInput); + return new SimpleExpression(requiredInput); } public static SimpleExpression newConversion(DataType requiredInput, DataType createdOutput) { - return new SimpleExpression().setRequiredInput(requiredInput) + return new SimpleExpression(requiredInput) .setCreatedOutput(createdOutput) .setExecuteValue(createdOutput.createFieldValue()) .setVerifyValue(createdOutput); diff --git a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/SimpleExpressionTestCase.java b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/SimpleExpressionTestCase.java index 2644ed5af7a..27e96c63702 100644 --- a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/SimpleExpressionTestCase.java +++ b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/SimpleExpressionTestCase.java @@ -20,7 +20,7 @@ public class SimpleExpressionTestCase { assertNull(exp.execute()); assertNull(exp.verify()); - assertEquals(DataType.INT, new SimpleExpression().setRequiredInput(DataType.INT).requiredInputType()); + assertEquals(DataType.INT, new SimpleExpression(DataType.INT).requiredInputType()); assertEquals(DataType.INT, new SimpleExpression().setCreatedOutput(DataType.INT).createdOutputType()); assertEquals(DataType.INT, new SimpleExpression().setVerifyValue(DataType.INT).verify()); assertEquals(new IntegerFieldValue(69), @@ -50,9 +50,9 @@ public class SimpleExpressionTestCase { assertFalse(exp.equals(new SimpleExpression().setVerifyValue(DataType.STRING))); assertEquals(exp, new SimpleExpression().setVerifyValue(DataType.INT)); - exp = new SimpleExpression().setRequiredInput(DataType.INT); - assertFalse(exp.equals(new SimpleExpression().setRequiredInput(DataType.STRING))); - assertEquals(exp, new SimpleExpression().setRequiredInput(DataType.INT)); + exp = new SimpleExpression(DataType.INT); + assertFalse(exp.equals(new SimpleExpression(DataType.STRING))); + assertEquals(exp, new SimpleExpression(DataType.INT)); exp = new SimpleExpression().setCreatedOutput(DataType.INT); assertFalse(exp.equals(new SimpleExpression().setCreatedOutput(DataType.STRING))); diff --git a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/StatementTestCase.java b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/StatementTestCase.java index 27466313fc6..bcec637e5e3 100644 --- a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/StatementTestCase.java +++ b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/StatementTestCase.java @@ -76,7 +76,7 @@ public class StatementTestCase { @Test public void requireThatRequiredInputIsNullIfAnyOutputIsCreatedFirst() { assertNull(newStatement(new SimpleExpression().setCreatedOutput(DataType.INT), - new SimpleExpression().setRequiredInput(DataType.INT)).requiredInputType()); + new SimpleExpression(DataType.INT)).requiredInputType()); } @Test diff --git a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/VerificationExceptionTestCase.java b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/VerificationExceptionTestCase.java index a22cc64e115..001f2408576 100644 --- a/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/VerificationExceptionTestCase.java +++ b/indexinglanguage/src/test/java/com/yahoo/vespa/indexinglanguage/expressions/VerificationExceptionTestCase.java @@ -14,7 +14,7 @@ public class VerificationExceptionTestCase { public void requireThatAccessorsWork() { Expression exp = new SimpleExpression(); VerificationException e = new VerificationException(exp, "foo"); - assertSame(exp, e.getExpression()); + assertEquals(exp.toString(), e.getExpression()); assertEquals("foo", e.getMessage()); assertTrue(e.toString().contains(exp.toString())); assertTrue(e.toString().contains(e.getMessage())); |