summaryrefslogtreecommitdiffstats
path: root/model-evaluation/src/test
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@verizonmedia.com>2019-10-23 16:28:51 +0200
committerJon Bratseth <bratseth@verizonmedia.com>2019-10-23 16:28:51 +0200
commit68249a1c7541c9c5e1b1e43afacf6118f2d22689 (patch)
treeb0627fab0557be8020d64f6e8fb7f5cfe843c6b6 /model-evaluation/src/test
parent51d8e8546649327cef3b892090c1631a603a4949 (diff)
Add dynamically settable default
Diffstat (limited to 'model-evaluation/src/test')
-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<>();