aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/evaluation/EvaluationTestCase.java
diff options
context:
space:
mode:
authorLester Solbakken <lesters@oath.com>2020-11-15 12:56:50 +0100
committerLester Solbakken <lesters@oath.com>2020-11-15 12:56:50 +0100
commit288ef3a1fbc3b1db5c54ab55b5d76d1feedeab0c (patch)
tree0908f8b5b5df6d2d3fa49930fbc149b183c7fea2 /searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/evaluation/EvaluationTestCase.java
parent8626f8690482c85e6e6e7350aa024dde528fccf9 (diff)
Support mixed tensor type in Java evaluation
Diffstat (limited to 'searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/evaluation/EvaluationTestCase.java')
-rw-r--r--searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/evaluation/EvaluationTestCase.java18
1 files changed, 18 insertions, 0 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 1bf4dc5698d..123fa5ac43b 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
@@ -10,6 +10,7 @@ import com.yahoo.searchlib.rankingexpression.rule.ArithmeticOperator;
import com.yahoo.searchlib.rankingexpression.rule.ConstantNode;
import com.yahoo.searchlib.rankingexpression.rule.ExpressionNode;
import com.yahoo.searchlib.rankingexpression.rule.IfNode;
+import com.yahoo.tensor.Tensor;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
@@ -393,6 +394,23 @@ public class EvaluationTestCase {
}
@Test
+ public void testMixedTensorType() throws ParseException {
+ String expected = "tensor(x[1],y{},z[2]):{{x:0,y:a,z:0}:4.0,{x:0,y:a,z:1}:5.0,{x:0,y:b,z:0}:7.0,{x:0,y:b,z:1}:8.0}";
+ String a = "tensor(x[1],y{}):{ {x:0,y:a}:1, {x:0,y:b}:2 }";
+ String b = "tensor(y{},z[2]):{ {y:a,z:0}:3, {y:a,z:1}:4, {y:b,z:0}:5, {y:b,z:1}:6 }";
+ String expression = "a + b";
+
+ MapContext context = new MapContext();
+ context.put("a", new TensorValue(Tensor.from(a)));
+ context.put("b", new TensorValue(Tensor.from(b)));
+
+ Tensor expectedResult = Tensor.from(expected);
+ Tensor result = new RankingExpression(expression).evaluate(context).asTensor();
+ assertEquals(expectedResult, result);
+ assertEquals(expectedResult.type(), result.type());
+ }
+
+ @Test
public void testTile() {
EvaluationTester tester = new EvaluationTester();