/*******************************************************************************
* This program is made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Tomas Milata - initial API and implementation
******************************************************************************/
package org.jboss.tools.batch.ui.itest.diagram;
import java.util.List;
import org.eclipse.sapphire.ui.SapphireEditorPagePart;
import org.jboss.tools.batch.ui.editor.internal.model.Flow;
import org.jboss.tools.batch.ui.editor.internal.model.Job;
import org.jboss.tools.batch.ui.editor.internal.model.Split;
import org.jboss.tools.batch.ui.itest.AbstractBatchSapphireEditorTest;
/**
* @author Tomas Milata
*/
public class BatchDiagramNavigationTest extends AbstractBatchSapphireEditorTest {
public void testTwoEditorTabs() {
editor = openEditor("src/META-INF/batch-jobs/job-nested-flows.xml");
List<SapphireEditorPagePart> editorParts = editor.getEditorPageParts();
assertEquals("Unexpected number of editor tabs.", 2, editorParts.size());
}
public void testNestedFlowsTraversal() {
editor = openEditor("src/META-INF/batch-jobs/job-nested-flows.xml");
editor.setActivePage("Diagram");
assertEquals("/myJob", getDiagramPage().getPageHeaderText());
Job job = editor.getSchema();
Flow flow1 = (Flow) job.getFlowElements().get(0);
editor.changeDiagramContent(flow1);
assertEquals("/myJob/flow1", getDiagramPage().getPageHeaderText());
Split split = (Split) flow1.getFlowElements().get(0);
Flow flowNested1 = split.getFlows().get(0);
editor.changeDiagramContent(flowNested1);
assertEquals("/myJob/flow1/split1/flowNested1", getDiagramPage().getPageHeaderText());
editor.changeDiagramContent(flow1);
assertEquals("/myJob/flow1", getDiagramPage().getPageHeaderText());
editor.changeDiagramContent(job);
assertEquals("/myJob", getDiagramPage().getPageHeaderText());
}
}