package au.com.langdale.cimtoole.test.ui;
import org.eclipse.core.resources.IncrementalProjectBuilder;
import org.eclipse.ui.IWorkbenchWizard;
import au.com.langdale.cimtoole.test.WorkbenchTest;
import au.com.langdale.cimtoole.wizards.ImportModel;
import au.com.langdale.ui.builder.Assembly;
public class ModelWizards extends WorkbenchTest {
@Override
protected void setUp() throws Exception {
super.setUp();
setupSchema();
setupProfile();
reader = null;
}
public final void testCase1() throws Exception {
final String TEST_CASE = "base_case.xml";
testImportModel(new ImportModel(), TEST_CASE);
workspace.build(IncrementalProjectBuilder.INCREMENTAL_BUILD, monitor);
assertTrue("model created", model.exists() );
assertTrue("diagnostics created", getModelRelated("diagnostic").exists() );
createReader();
Deferred any = find(reader, pattern(ANY, ANY, ANY));
Deferred bv1 = find(reader, pattern(MODEL_NS + "bv1", A, uri(SCHEMA_NS + "BaseVoltage")));
reader.run();
assertTrue("model acquired", any.getCount() > 1);
assertTrue("test instance present", bv1.getCount() == 1);
}
protected void testImportModel(IWorkbenchWizard wizard, String sample) {
TestWizardDialog dialog = runWizard(wizard);
pause();
Assembly content = dialog.getContent();
String path = getSmallCasesFolder() + sample;
content.getText("source").setText(path);
pause();
content.getText("namespace").setText(MODEL_NS);
pause();
content.getCheckboxTableViewer("projects").setChecked(project, true);
content.fireWidgetEvent();
pause();
content.getCheckboxTableViewer("profiles").setChecked(profile, true);
content.fireWidgetEvent();
pause();
assertTrue(dialog.getCurrentPage().canFlipToNextPage());
dialog.nextPressed();
content = dialog.getContent();
content.getText("filename").setText(MODEL_NAME);
pause();
assertTrue(wizard.canFinish());
dialog.finishPressed();
}
}