diff options
author | Jon Bratseth <jonbratseth@yahoo.com> | 2018-02-22 16:20:48 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-22 16:20:48 +0100 |
commit | 1791ba9fc169c821bee826ed39d9a42ffa03def0 (patch) | |
tree | 4601457cb3cdf0cc2a4b84efc44668748edfd8f3 /searchlib/src/test | |
parent | 7358ce6a49eedf51b3761a855921c58a5f813321 (diff) |
Revert "Revert "Bratseth/typecheck all 3""
Diffstat (limited to 'searchlib/src/test')
3 files changed, 22 insertions, 11 deletions
diff --git a/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/evaluation/EvaluationTestCase.java b/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/evaluation/EvaluationTestCase.java index e9030cf5852..f2122bb5da9 100644 --- a/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/evaluation/EvaluationTestCase.java +++ b/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/evaluation/EvaluationTestCase.java @@ -378,8 +378,13 @@ public class EvaluationTestCase { private static class StructuredTestContext extends MapContext { @Override + public Value get(String feature) { + throw new RuntimeException("Called simple get for feature " + feature); + } + + @Override public Value get(String name, Arguments arguments, String output) { - if (!name.equals("average")) { + if ( ! name.equals("average")) { throw new IllegalArgumentException("Unknown operation '" + name + "'"); } if (arguments.expressions().size() != 2) { diff --git a/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/evaluation/TypeResolutionTestCase.java b/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/evaluation/TypeResolutionTestCase.java index c882c887c8d..a08d510eec4 100644 --- a/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/evaluation/TypeResolutionTestCase.java +++ b/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/evaluation/TypeResolutionTestCase.java @@ -3,6 +3,7 @@ package com.yahoo.searchlib.rankingexpression.evaluation; import com.yahoo.searchlib.rankingexpression.RankingExpression; +import com.yahoo.searchlib.rankingexpression.Reference; import com.yahoo.searchlib.rankingexpression.parser.ParseException; import com.yahoo.tensor.TensorType; import com.yahoo.tensor.evaluation.TypeContext; @@ -18,12 +19,17 @@ public class TypeResolutionTestCase { @Test public void testTypeResolution() { - TypeMapContext context = new TypeMapContext(); - context.setType("query(x1)", TensorType.fromSpec("tensor(x[])")); - context.setType("query(x2)", TensorType.fromSpec("tensor(x[10])")); - context.setType("query(y1)", TensorType.fromSpec("tensor(y[])")); - context.setType("query(xy1)", TensorType.fromSpec("tensor(x[10],y[])")); - context.setType("query(xy2)", TensorType.fromSpec("tensor(x[],y[10])")); + MapTypeContext context = new MapTypeContext(); + context.setType(Reference.simple("query", "x1"), + TensorType.fromSpec("tensor(x[])")); + context.setType(Reference.simple("query", "x2"), + TensorType.fromSpec("tensor(x[10])")); + context.setType(Reference.simple("query", "y1"), + TensorType.fromSpec("tensor(y[])")); + context.setType(Reference.simple("query", "xy1"), + TensorType.fromSpec("tensor(x[10],y[])")); + context.setType(Reference.simple("query", "xy2"), + TensorType.fromSpec("tensor(x[],y[10])")); assertType("tensor(x[])", "query(x1)", context); assertType("tensor(x[])", "if (1>0, query(x1), query(x2))", context); @@ -31,7 +37,7 @@ public class TypeResolutionTestCase { assertIncompatibleType("if (1>0, query(x1), query(y1))", context); } - private void assertType(String type, String expression, TypeContext context) { + private void assertType(String type, String expression, TypeContext<Reference> context) { try { assertEquals(TensorType.fromSpec(type), new RankingExpression(expression).type(context)); } @@ -40,7 +46,7 @@ public class TypeResolutionTestCase { } } - private void assertIncompatibleType(String expression, TypeContext context) { + private void assertIncompatibleType(String expression, TypeContext<Reference> context) { try { new RankingExpression(expression).type(context); fail("Expected type incompatibility exception"); diff --git a/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/rule/ArgumentsTestCase.java b/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/rule/ArgumentsTestCase.java index 867331e99ce..303135888d8 100644 --- a/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/rule/ArgumentsTestCase.java +++ b/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/rule/ArgumentsTestCase.java @@ -9,13 +9,13 @@ import java.util.Collections; import static org.junit.Assert.*; /** - * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + * @author Simon Thoresen */ public class ArgumentsTestCase { @Test public void requireThatAccessorsWork() { - Arguments args = new Arguments(null); + Arguments args = new Arguments(); assertTrue(args.expressions().isEmpty()); args = new Arguments(Collections.<ExpressionNode>emptyList()); |