blob: 83c48e17d58e639a7d97b8d4f55a9ae7a2247d7e [file] [log] [blame]
package org.apache.taverna.scufl2.cwl;
import java.util.*;
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.port.InputWorkflowPort;
import org.apache.taverna.scufl2.api.port.OutputWorkflowPort;
public class TestParser {
private static final String SIMPLE_STRING_INPUT = "/simple_string_input.cwl";
private static final String INT_INPUT = "/int_input.cwl";
private static JsonNode cwlFile;
@Test
public void testStringInput() throws Exception {
Yaml reader = new Yaml();
ObjectMapper mapper = new ObjectMapper();
cwlFile = mapper.valueToTree(reader.load(TestParser.class.getResourceAsStream(SIMPLE_STRING_INPUT)));
System.out.println(cwlFile);
Parser parser = new Parser(cwlFile);
Set<InputWorkflowPort> result = parser.parseInputs();
for(InputWorkflowPort port: result) {
System.out.println(port.getName());
}
ArrayList<InputWorkflowPort> inputs = new ArrayList<>(result);
assertEquals(inputs.get(0).getName(), "example_string");
Set<OutputWorkflowPort> result2 = parser.parseOutputs();
for(OutputWorkflowPort port: result2) {
System.out.println(port.getName());
}
System.out.println("Showing steps:");
Set<Step> steps = parser.parseSteps();
for(Step step: steps) {
System.out.println(step);
}
}
}