add unit test for CWLUtil
Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/commit/3eae0a22 Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/tree/3eae0a22 Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/diff/3eae0a22 Branch: refs/heads/cwl-browse Commit: 3eae0a2278df5e63df6190d1fb739c97d396df8c Parents: 6a9f9f0 Author: ThilinaManamgoda <maanafun...@gmail.com> Authored: Tue Aug 2 01:22:32 2016 +0530 Committer: ThilinaManamgoda <maanafun...@gmail.com> Committed: Tue Aug 2 01:22:32 2016 +0530 ---------------------------------------------------------------------- .../apache/taverna/cwl/utilities/CWLUtil.java | 5 +-- .../taverna/cwl/utilities/CWLUtilTest.java | 34 ++++++++++++++++++++ 2 files changed, 37 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/3eae0a22/taverna-cwl-utilities/src/main/java/org/apache/taverna/cwl/utilities/CWLUtil.java ---------------------------------------------------------------------- diff --git a/taverna-cwl-utilities/src/main/java/org/apache/taverna/cwl/utilities/CWLUtil.java b/taverna-cwl-utilities/src/main/java/org/apache/taverna/cwl/utilities/CWLUtil.java index 5ff2d2f..aafe81c 100644 --- a/taverna-cwl-utilities/src/main/java/org/apache/taverna/cwl/utilities/CWLUtil.java +++ b/taverna-cwl-utilities/src/main/java/org/apache/taverna/cwl/utilities/CWLUtil.java @@ -17,7 +17,6 @@ package org.apache.taverna.cwl.utilities; import java.util.ArrayList; -import java.util.Arrays; import java.util.HashMap; import java.util.Iterator; import java.util.Map; @@ -45,7 +44,7 @@ public class CWLUtil { private static final int DEPTH_2 = 2; private static final String FLOAT = "float"; - private static final String NULL = "null"; + private static final String NULL = "\"null\""; private static final String BOOLEAN = "boolean"; private static final String INT = "int"; private static final String DOUBLE = "double"; @@ -292,6 +291,7 @@ public class CWLUtil { * @return */ public boolean isValidDataType(JsonNode typeConfigurations) { + if(typeConfigurations==null) return false; for (JsonNode type : typeConfigurations) { if (!(type.asText().equals(FLOAT) || type.asText().equals(NULL) || type.asText().equals(BOOLEAN) || type.asText().equals(INT) || type.asText().equals(STRING) || type.asText().equals(DOUBLE) @@ -310,6 +310,7 @@ public class CWLUtil { * @return */ public boolean isValidArrayType(String type){ + if(type==null) return false; Pattern pattern= Pattern.compile(ARRAY_SIGNATURE_BRACKETS); Matcher matcher = pattern.matcher(type); ObjectMapper mapper = new ObjectMapper(); http://git-wip-us.apache.org/repos/asf/incubator-taverna-common-activities/blob/3eae0a22/taverna-cwl-utilities/src/test/java/org/apache/taverna/cwl/utilities/CWLUtilTest.java ---------------------------------------------------------------------- diff --git a/taverna-cwl-utilities/src/test/java/org/apache/taverna/cwl/utilities/CWLUtilTest.java b/taverna-cwl-utilities/src/test/java/org/apache/taverna/cwl/utilities/CWLUtilTest.java index b484ea9..5d0dafb 100644 --- a/taverna-cwl-utilities/src/test/java/org/apache/taverna/cwl/utilities/CWLUtilTest.java +++ b/taverna-cwl-utilities/src/test/java/org/apache/taverna/cwl/utilities/CWLUtilTest.java @@ -30,6 +30,7 @@ import org.yaml.snakeyaml.Yaml; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.node.ArrayNode; public class CWLUtilTest { JsonNode cwlFile; @@ -116,4 +117,37 @@ public class CWLUtilTest { assertEquals(input.getValue(), actual.get(input.getKey())); } } + @Test + public void isValidDataTypeTest() { + + ObjectMapper mapper = new ObjectMapper(); + ArrayNode node = mapper.createArrayNode(); + node.add("int"); + node.add("\"null\""); + node.add("float"); + node.add("string"); + node.add("double"); + node.add("int"); + node.add("file"); + node.add("boolean"); + + assertTrue(cwlUtil.isValidDataType(node)); + assertTrue(!cwlUtil.isValidDataType(null)); + node.add("blah blah"); + assertTrue(!cwlUtil.isValidDataType(node)); + } + + @Test + public void isValidArrayTypeTest() { + + String validType="int[]"; + String wrongType="blah[]"; + String wrongType2="int []"; + + assertTrue(cwlUtil.isValidArrayType(validType)); + assertTrue(!cwlUtil.isValidArrayType(wrongType)); + assertTrue(!cwlUtil.isValidArrayType(wrongType2)); + assertTrue(!cwlUtil.isValidArrayType(null)); + + } }