diff options
author | Jon Bratseth <bratseth@verizonmedia.com> | 2019-11-29 14:12:31 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@verizonmedia.com> | 2019-11-29 14:12:31 +0100 |
commit | 29b03a9b6eb3887bce0d7d8a86dddce92d830cd9 (patch) | |
tree | ab3c7462c117e65a82a5969f8a7637ac4a21aef0 /searchlib/src | |
parent | ce07c34e31babbccc9a005d990f32c8b355af1a0 (diff) |
Preserve single-feature embraces
Diffstat (limited to 'searchlib/src')
3 files changed, 4 insertions, 3 deletions
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/EmbracedNode.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/EmbracedNode.java index d306e067d16..dd1ef263cba 100755 --- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/EmbracedNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/EmbracedNode.java @@ -40,8 +40,6 @@ public final class EmbracedNode extends CompositeNode { @Override public StringBuilder toString(StringBuilder string, SerializationContext context, Deque<String> path, CompositeNode parent) { - if (value instanceof ReferenceNode) - return value.toString(string, context, path, this); return value.toString(string.append('('), context, path, this).append(')'); } diff --git a/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/RankingExpressionTestCase.java b/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/RankingExpressionTestCase.java index 26fcec9efba..274cb0b567e 100755 --- a/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/RankingExpressionTestCase.java +++ b/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/RankingExpressionTestCase.java @@ -245,7 +245,7 @@ public class RankingExpressionTestCase { @Test public void testNonCanonicalLegalStrings() throws ParseException { - assertParse("a * b + c * d", "a* (b) + \nc*d"); + assertParse("a * (b) + c * d", "a* (b) + \nc*d"); } @Test 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 99047aeb79d..376fbc85d6d 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 @@ -367,6 +367,9 @@ public class EvaluationTestCase { tester.assertEvaluates("tensor(j[2]):[6, 5]", "tensor(j[2])(tensor0{key:bar,i:2-j})", "tensor(key{},i[5]):{{key:foo,i:0}:1,{key:foo,i:1}:2,{key:foo,i:2}:2,{key:bar,i:0}:4,{key:bar,i:1}:5,{key:bar,i:2}:6}"); + tester.assertEvaluates("5.5", + "sum(tensor(d0[1])(tensor0{x:mykey}))", + "tensor(x{}):{{x:mykey}:5.5}"); // tensor result dimensions are given from argument dimensions, not the resulting values tester.assertEvaluates("tensor(x{}):{}", "tensor0 * tensor1", "{ {x:0}:1 }", "tensor(x{}):{ {x:1}:1 }"); |