diff options
author | Arne Juul <arnej@vespa.ai> | 2023-11-01 08:09:00 +0000 |
---|---|---|
committer | Arne Juul <arnej@vespa.ai> | 2023-11-01 08:20:59 +0000 |
commit | 9b3f08769c295f0e8d4d506393ebece8e7651f43 (patch) | |
tree | 36d1171bcc614876b46d15de673c272f5f2134f5 /config-model/src/test/java/com/yahoo/schema | |
parent | ef89054d86570de1934d34e880b4827a310b9269 (diff) |
validate for array/wset attributes
Diffstat (limited to 'config-model/src/test/java/com/yahoo/schema')
-rw-r--r-- | config-model/src/test/java/com/yahoo/schema/processing/TensorTransformTestCase.java | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/config-model/src/test/java/com/yahoo/schema/processing/TensorTransformTestCase.java b/config-model/src/test/java/com/yahoo/schema/processing/TensorTransformTestCase.java index 58a0b54e6cc..8c5f90e4b7f 100644 --- a/config-model/src/test/java/com/yahoo/schema/processing/TensorTransformTestCase.java +++ b/config-model/src/test/java/com/yahoo/schema/processing/TensorTransformTestCase.java @@ -19,12 +19,14 @@ import com.yahoo.schema.AbstractSchemaTestCase; import com.yahoo.schema.derived.AttributeFields; import com.yahoo.schema.derived.RawRankProfile; import com.yahoo.schema.parser.ParseException; +import com.yahoo.yolean.Exceptions; import ai.vespa.rankingexpression.importer.configmodelview.ImportedMlModels; import org.junit.jupiter.api.Test; import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.fail; public class TensorTransformTestCase extends AbstractSchemaTestCase { @@ -35,8 +37,6 @@ public class TensorTransformTestCase extends AbstractSchemaTestCase { "max(1.0,2.0)"); assertTransformedExpression("min(attribute(double_field),x)", "min(attribute(double_field),x)"); - assertTransformedExpression("max(attribute(double_field),attribute(double_array_field))", - "max(attribute(double_field),attribute(double_array_field))"); assertTransformedExpression("min(attribute(tensor_field_1),attribute(double_field))", "min(attribute(tensor_field_1),attribute(double_field))"); assertTransformedExpression("reduce(max(attribute(tensor_field_1),attribute(tensor_field_2)),sum)", @@ -54,6 +54,30 @@ public class TensorTransformTestCase extends AbstractSchemaTestCase { } @Test + void requireThatUsingArrayFails() throws ParseException { + Throwable e = assertThrows(IllegalArgumentException.class, () -> { + buildSearch("max(attribute(double_field),attribute(double_array_field))"); + }); + String msg = Exceptions.toMessageString(e); + assertEquals("In schema 'test', rank profile 'test':" + + " The function 'testexpression' is invalid: attribute(double_array_field) is invalid:" + + " Cannot use attribute(double_array_field) collectiontype: ARRAY as ranking expression input", + msg); + } + + @Test + void requireThatUsingWsetFails() throws ParseException { + Throwable e = assertThrows(IllegalArgumentException.class, () -> { + buildSearch("map(attribute(weightedset_field), f(x)(x+3))"); + }); + String msg = Exceptions.toMessageString(e); + assertEquals("In schema 'test', rank profile 'test':" + + " The function 'testexpression' is invalid: attribute(weightedset_field) is invalid:" + + " Cannot use attribute(weightedset_field) collectiontype: WEIGHTEDSET as ranking expression input", + msg); + } + + @Test void requireThatMaxAndMinWithTensorAttributesAreReplaced() throws ParseException { assertTransformedExpression("reduce(attribute(tensor_field_1),max,x)", "max(attribute(tensor_field_1),x)"); |