diff options
Diffstat (limited to 'vespajlib/src/test/java/com/yahoo/tensor/TensorTypeTestCase.java')
-rw-r--r-- | vespajlib/src/test/java/com/yahoo/tensor/TensorTypeTestCase.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/vespajlib/src/test/java/com/yahoo/tensor/TensorTypeTestCase.java b/vespajlib/src/test/java/com/yahoo/tensor/TensorTypeTestCase.java index c3e31fad2da..eef0b090fd1 100644 --- a/vespajlib/src/test/java/com/yahoo/tensor/TensorTypeTestCase.java +++ b/vespajlib/src/test/java/com/yahoo/tensor/TensorTypeTestCase.java @@ -12,6 +12,7 @@ import static org.junit.Assert.fail; /** * @author geirst + * @author bratseth */ public class TensorTypeTestCase { @@ -75,6 +76,18 @@ public class TensorTypeTestCase { assertIsAssignableTo("tensor(x{},y[10])", "tensor(x{},y[])"); } + @Test + public void testConvertibleTo() { + assertIsConvertibleTo("tensor(x[])", "tensor(x[])"); + assertUnconvertibleTo("tensor(x[])", "tensor(y[])"); + assertIsConvertibleTo("tensor(x[10])", "tensor(x[])"); + assertUnconvertibleTo("tensor(x[])", "tensor(x[10])"); + assertUnconvertibleTo("tensor(x[10])", "tensor(x[5])"); + assertIsConvertibleTo("tensor(x[5])", "tensor(x[10])"); // Different from assignable + assertUnconvertibleTo("tensor(x{})", "tensor(x[])"); + assertIsConvertibleTo("tensor(x{},y[10])", "tensor(x{},y[])"); + } + private static void assertTensorType(String typeSpec) { assertTensorType(typeSpec, typeSpec); } @@ -100,4 +113,12 @@ public class TensorTypeTestCase { assertFalse(TensorType.fromSpec(specificType).isAssignableTo(TensorType.fromSpec(generalType))); } + private void assertIsConvertibleTo(String specificType, String generalType) { + assertTrue(TensorType.fromSpec(specificType).isConvertibleTo(TensorType.fromSpec(generalType))); + } + + private void assertUnconvertibleTo(String specificType, String generalType) { + assertFalse(TensorType.fromSpec(specificType).isConvertibleTo(TensorType.fromSpec(generalType))); + } + } |