DXWorkflow extends DXDataObject implements DXExecutable<DXAnalysis> { public static Builder newWorkflow() { return new Builder(); } private  DXWorkflow(String workflowId, DXContainer project, DXEnvironment env, JsonNode describe); private  DXWorkflow(String workflowId, DXEnvironment env); static DXWorkflow getInstance(String workflowId); static DXWorkflow getInstance(String workflowId, DXContainer project); static DXWorkflow getInstanceWithEnvironment(String workflowId, DXContainer project,
            DXEnvironment env); static DXWorkflow getInstanceWithEnvironment(String workflowId, DXEnvironment env); static Builder newWorkflow(); static Builder newWorkflowWithEnvironment(DXEnvironment env); @Override DXWorkflow close(); @Override DXWorkflow closeAndWait(); @Override Describe describe(); @Override Describe describe(DescribeOptions options); @Override Describe getCachedDescribe(); @Override ExecutableRunner<DXAnalysis> newRun(); Modification<Stage> addStage(DXApplet applet,
                                        String name,
                                        Object stageInputs,
                                        int editVersion);  }
@Test public void testDataObjectMethods() { DXDataObjectTest.BuilderFactory<DXWorkflow.Builder, DXWorkflow> builderFactory = new DXDataObjectTest.BuilderFactory<DXWorkflow.Builder, DXWorkflow>() { @Override public DXWorkflow.Builder getBuilder() { return DXWorkflow.newWorkflow(); } }; DXDataObjectTest.testOpenDataObjectMethods(testProject, builderFactory); DXDataObjectTest.testClosedDataObjectMethods(testProject, builderFactory); }
@Test public void testBuilder() { DXDataObjectTest.testBuilder(testProject, new DXDataObjectTest.BuilderFactory<DXWorkflow.Builder, DXWorkflow>() { @Override public DXWorkflow.Builder getBuilder() { return DXWorkflow.newWorkflow(); } }); }