summaryrefslogtreecommitdiffstats
path: root/model-evaluation/src/test/java/ai/vespa/models/evaluation/ModelsEvaluatorTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'model-evaluation/src/test/java/ai/vespa/models/evaluation/ModelsEvaluatorTest.java')
-rw-r--r--model-evaluation/src/test/java/ai/vespa/models/evaluation/ModelsEvaluatorTest.java26
1 files changed, 25 insertions, 1 deletions
diff --git a/model-evaluation/src/test/java/ai/vespa/models/evaluation/ModelsEvaluatorTest.java b/model-evaluation/src/test/java/ai/vespa/models/evaluation/ModelsEvaluatorTest.java
index e8620670dd6..4e31dd89e6a 100644
--- a/model-evaluation/src/test/java/ai/vespa/models/evaluation/ModelsEvaluatorTest.java
+++ b/model-evaluation/src/test/java/ai/vespa/models/evaluation/ModelsEvaluatorTest.java
@@ -7,7 +7,6 @@ import com.yahoo.filedistribution.fileacquirer.MockFileAcquirer;
import com.yahoo.path.Path;
import com.yahoo.searchlib.rankingexpression.ExpressionFunction;
import com.yahoo.searchlib.rankingexpression.RankingExpression;
-import com.yahoo.searchlib.rankingexpression.rule.ReferenceNode;
import com.yahoo.tensor.Tensor;
import com.yahoo.tensor.TensorType;
import com.yahoo.vespa.config.search.RankProfilesConfig;
@@ -19,6 +18,7 @@ import java.util.ArrayList;
import java.util.List;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
/**
* @author bratseth
@@ -36,6 +36,30 @@ public class ModelsEvaluatorTest {
assertEquals(32.0, function.evaluate().asDouble(), delta);
}
+ /** Tests a function defined as 4 * (var1 + var2) */
+ @Test
+ public void testSettingDefaultVariableValue() {
+ ModelsEvaluator models = createModels("src/test/resources/config/rankexpression/");
+
+ {
+ FunctionEvaluator function = models.evaluatorOf("macros", "secondphase");
+ assertTrue(Double.isNaN(function.evaluate().asDouble()));
+ }
+
+ {
+ FunctionEvaluator function = models.evaluatorOf("macros", "secondphase");
+ function.setUnboundValue(5);
+ assertEquals(40.0, function.evaluate().asDouble(), delta);
+ }
+
+ {
+ FunctionEvaluator function = models.evaluatorOf("macros", "secondphase");
+ function.setUnboundValue(5);
+ function.bind("match", 3);
+ assertEquals(32.0, function.evaluate().asDouble(), delta);
+ }
+ }
+
@Test
public void testBindingValidation() {
List<ExpressionFunction> functions = new ArrayList<>();