Github user haouech commented on a diff in the pull request:
https://github.com/apache/incubator-taverna-language/pull/38#discussion_r197053923
--- Diff:
taverna-scufl2-cwl/src/test/java/org/apache/taverna/scufl2/cwl/TestParser.java
---
@@ -0,0 +1,96 @@
+package org.apache.taverna.scufl2.cwl;
+
+
+import java.util.Set;
+import java.util.HashSet;
+
+import org.junit.Before;
+import org.junit.Test;
+import static org.junit.Assert.assertEquals;
+
+import org.yaml.snakeyaml.Yaml;
+
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ArrayNode;
+
+import org.apache.taverna.scufl2.api.core.Workflow;
+import org.apache.taverna.scufl2.api.core.Processor;
+import org.apache.taverna.scufl2.api.core.DataLink;
+
+import org.apache.taverna.scufl2.api.common.NamedSet;
+
+import org.apache.taverna.scufl2.api.port.InputWorkflowPort;
+import org.apache.taverna.scufl2.api.port.OutputWorkflowPort;
+import org.apache.taverna.scufl2.api.port.InputProcessorPort;
+
+
+public class TestParser {
+ private static final String HELLO_WORLD_CWL = "/hello_world.cwl";
+
+ private static JsonNode cwlFile;
+ private WorkflowParser parser;
+ private Workflow workflow;
+
+ @Before
+ public void initialize() {
+
+ Yaml reader = new Yaml();
+ ObjectMapper mapper = new ObjectMapper();
+ cwlFile =
mapper.valueToTree(reader.load(TestParser.class.getResourceAsStream(HELLO_WORLD_CWL)));
+ System.out.println(cwlFile);
+ this.parser = new WorkflowParser(cwlFile);
+
+ this.workflow = parser.buildWorkflow();
+ }
+
+ @Test
+ public void testParseInputs() throws Exception {
+
+ NamedSet<InputWorkflowPort> workflowInputs =
workflow.getInputPorts();
+ NamedSet<InputWorkflowPort> expectedInputs = new NamedSet<>();
+ expectedInputs.add(new InputWorkflowPort(workflow, "name"));
+
+ assertEquals(expectedInputs, workflowInputs);
+ }
+
+ @Test
+ public void testParseOutputs() throws Exception {
+
+ NamedSet<OutputWorkflowPort> workflowOutputs =
workflow.getOutputPorts();
+ NamedSet<OutputWorkflowPort> expectedOutputs = new NamedSet<>();
+
+ assertEquals(expectedOutputs, workflowOutputs);
+ }
+
+ @Test
+ public void testParseProcessors() throws Exception {
+
+ NamedSet<Processor> workflowProcessors = workflow.getProcessors();
+ NamedSet<Processor> expectedProcessors = new NamedSet<>();
+ expectedProcessors.add(new Processor(workflow, "step1"));
+
+ assertEquals(expectedProcessors, workflowProcessors);
+ }
+
+ @Test
+ public void testParseDataLinks() throws Exception {
+
+ Set<DataLink> workflowDataLinks = workflow.getDataLinks();
+ Set<DataLink> expectedDataLinks = new HashSet<>();
+ Set<Processor> processorSet = workflow.getProcessors();
+ // processorSet has one processor
+ Processor processor = processorSet.iterator().next();
--- End diff --
This will be much clearer. I'll do it.
---