aboutsummaryrefslogtreecommitdiffstats
path: root/model-integration/src/test
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@verizonmedia.com>2019-06-02 13:25:45 +0200
committerJon Bratseth <bratseth@verizonmedia.com>2019-06-02 13:25:45 +0200
commitc25c8a52e2328bcff2f5a35496e7568ee5a7c752 (patch)
treecd624363ad22b7a2b6a76e41bd27c0cd7f5169d7 /model-integration/src/test
parente9e5a422c0aa6364c3c5f7b9da53e9fcf9a5f0f8 (diff)
Vespa global model import
Diffstat (limited to 'model-integration/src/test')
-rw-r--r--model-integration/src/test/java/ai/vespa/rankingexpression/importer/vespa/VespaImportTestCase.java23
-rw-r--r--model-integration/src/test/java/ai/vespa/rankingexpression/importer/xgboost/XGBoostImportTestCase.java1
-rw-r--r--model-integration/src/test/models/vespa/constant1asLarge.json7
-rw-r--r--model-integration/src/test/models/vespa/example.model13
4 files changed, 40 insertions, 4 deletions
diff --git a/model-integration/src/test/java/ai/vespa/rankingexpression/importer/vespa/VespaImportTestCase.java b/model-integration/src/test/java/ai/vespa/rankingexpression/importer/vespa/VespaImportTestCase.java
index 1be2b7a4183..4c8890f6476 100644
--- a/model-integration/src/test/java/ai/vespa/rankingexpression/importer/vespa/VespaImportTestCase.java
+++ b/model-integration/src/test/java/ai/vespa/rankingexpression/importer/vespa/VespaImportTestCase.java
@@ -2,8 +2,11 @@
package ai.vespa.rankingexpression.importer.vespa;
import ai.vespa.rankingexpression.importer.ImportedModel;
+import ai.vespa.rankingexpression.importer.configmodelview.ImportedMlFunction;
import org.junit.Test;
+import java.util.List;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
@@ -25,8 +28,24 @@ public class VespaImportTestCase {
assertEquals("tensor(x[3]):{{x:0}:0.5,{x:1}:1.5,{x:2}:2.5}", model.smallConstants().get("constant1"));
assertEquals("tensor():{3.0}", model.smallConstants().get("constant2"));
- assertEquals("max(reduce(input1 * input2, sum, name),x) * constant2",
- model.expressions().get("foo").getRoot().toString());
+ assertEquals(1, model.largeConstants().size());
+ assertEquals("tensor(x[3]):{{x:0}:0.5,{x:1}:1.5,{x:2}:2.5}", model.largeConstants().get("constant1asLarge"));
+
+ assertEquals(2, model.expressions().size());
+ assertEquals("max(reduce(input1 * input2, sum, name) * constant1,x) * constant2",
+ model.expressions().get("foo1").getRoot().toString());
+ assertEquals("max(reduce(input1 * input2, sum, name) * constant1asLarge,x) * constant2",
+ model.expressions().get("foo2").getRoot().toString());
+
+ List<ImportedMlFunction> functions = model.outputExpressions();
+ assertEquals(2, functions.size());
+ ImportedMlFunction foo1Function = functions.get(0);
+ assertEquals(2, foo1Function.arguments().size());
+ assertTrue(foo1Function.arguments().contains("input1"));
+ assertTrue(foo1Function.arguments().contains("input2"));
+ assertEquals(2, foo1Function.argumentTypes().size());
+ assertEquals("tensor(name{},x[3])", foo1Function.argumentTypes().get("input1"));
+ assertEquals("tensor(x[3])", foo1Function.argumentTypes().get("input2"));
}
@Test
diff --git a/model-integration/src/test/java/ai/vespa/rankingexpression/importer/xgboost/XGBoostImportTestCase.java b/model-integration/src/test/java/ai/vespa/rankingexpression/importer/xgboost/XGBoostImportTestCase.java
index 67a3b17255c..6d54b63db4b 100644
--- a/model-integration/src/test/java/ai/vespa/rankingexpression/importer/xgboost/XGBoostImportTestCase.java
+++ b/model-integration/src/test/java/ai/vespa/rankingexpression/importer/xgboost/XGBoostImportTestCase.java
@@ -22,6 +22,7 @@ public class XGBoostImportTestCase {
assertNotNull(expression);
assertEquals("if (f29 < -0.1234567, if (f56 < -0.242398, 1.71218, -1.70044), if (f109 < 0.8723473, -1.94071, 1.85965)) + if (f60 < -0.482947, if (f29 < -4.2387498, 0.784718, -0.96853), -6.23624)",
expression.getRoot().toString());
+ assertEquals(1, model.outputExpressions().size());
}
}
diff --git a/model-integration/src/test/models/vespa/constant1asLarge.json b/model-integration/src/test/models/vespa/constant1asLarge.json
new file mode 100644
index 00000000000..d2944d255af
--- /dev/null
+++ b/model-integration/src/test/models/vespa/constant1asLarge.json
@@ -0,0 +1,7 @@
+{
+ "cells": [
+ { "address": { "x": "0" }, "value": 0.5 },
+ { "address": { "x": "1" }, "value": 1.5 },
+ { "address": { "x": "2" }, "value": 2.5 }
+ ]
+} \ No newline at end of file
diff --git a/model-integration/src/test/models/vespa/example.model b/model-integration/src/test/models/vespa/example.model
index c0ea461db09..9579be4e44c 100644
--- a/model-integration/src/test/models/vespa/example.model
+++ b/model-integration/src/test/models/vespa/example.model
@@ -9,8 +9,17 @@ model example {
constant2: 3.0
}
- function foo() {
- expression: max(sum(input1 * input2, name), x) * constant2
+ constant constant1asLarge {
+ type: tensor(x[3])
+ file: constant1asLarge.json
+ }
+
+ function foo1() {
+ expression: max(sum(input1 * input2, name) * constant1, x) * constant2
+ }
+
+ function foo2() {
+ expression: max(sum(input1 * input2, name) * constant1asLarge, x) * constant2
}
} \ No newline at end of file