diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-09-21 08:44:29 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-21 08:44:29 +0200 |
commit | 9f4fcf60d0cac9dfcc2da8f74640483ec5b7629f (patch) | |
tree | 09b0c9d0f898eac040c8d10be36d09a22d7a8f95 /config-model/src/test/java/com/yahoo/schema/expressiontransforms/BooleanExpressionTransformerTestCase.java | |
parent | 1be14007d58614d3ca44bde00100c0215f11218d (diff) |
Revert "Revert "Revert "Short circuit boolean expressions"""
Diffstat (limited to 'config-model/src/test/java/com/yahoo/schema/expressiontransforms/BooleanExpressionTransformerTestCase.java')
-rw-r--r-- | config-model/src/test/java/com/yahoo/schema/expressiontransforms/BooleanExpressionTransformerTestCase.java | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/config-model/src/test/java/com/yahoo/schema/expressiontransforms/BooleanExpressionTransformerTestCase.java b/config-model/src/test/java/com/yahoo/schema/expressiontransforms/BooleanExpressionTransformerTestCase.java deleted file mode 100644 index 71d0657c701..00000000000 --- a/config-model/src/test/java/com/yahoo/schema/expressiontransforms/BooleanExpressionTransformerTestCase.java +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.schema.expressiontransforms; - -import com.yahoo.searchlib.rankingexpression.RankingExpression; -import com.yahoo.searchlib.rankingexpression.evaluation.MapContext; -import com.yahoo.searchlib.rankingexpression.evaluation.MapTypeContext; -import com.yahoo.searchlib.rankingexpression.transform.TransformContext; -import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.assertEquals; - -import java.util.Map; - -/** - * @author bratseth - */ -public class BooleanExpressionTransformerTestCase { - - @Test - public void testTransformer() throws Exception { - assertTransformed("if (a, b, false)", "a && b"); - assertTransformed("if (a, true, b)", "a || b"); - assertTransformed("if (a, true, b + c)", "a || b + c"); - assertTransformed("if (c + a, true, b)", "c + a || b"); - assertTransformed("if (c + a, true, b + c)", "c + a || b + c"); - assertTransformed("if (a + b, true, if (c - d * e, f, false))", "a + b || c - d * e && f"); - assertTransformed("if (a, true, if (b, c, false))", "a || b && c"); - assertTransformed("if (a + b, true, if (if (c, d, false), e * f - g, false))", "a + b || c && d && e * f - g"); - assertTransformed("if(1 - 1, true, 1 - 1)", "1 - 1 || 1 - 1"); - } - - @Test - public void testIt() throws Exception { - assertTransformed("if(1 - 1, true, 1 - 1)", "1 - 1 || 1 - 1"); - } - - private void assertTransformed(String expected, String input) throws Exception { - var transformedExpression = new BooleanExpressionTransformer() - .transform(new RankingExpression(input), - new TransformContext(Map.of(), new MapTypeContext())); - - assertEquals(new RankingExpression(expected), transformedExpression, "Transformed as expected"); - - MapContext context = contextWithSingleLetterVariables(); - var inputExpression = new RankingExpression(input); - assertEquals(inputExpression.evaluate(new MapContext()).asBoolean(), - transformedExpression.evaluate(new MapContext()).asBoolean(), - "Transform and original input are equivalent"); - } - - private MapContext contextWithSingleLetterVariables() { - var context = new MapContext(); - for (int i = 0; i < 26; i++) - context.put(Character.toString(i + 97), Math.floorMod(i, 2)); - return context; - } - -} |