package net.codjo.segmentation.gui.exportParam; import java.awt.Color; import org.uispec4j.Button; import org.uispec4j.RadioButton; import org.uispec4j.TextBox; import org.uispec4j.Trigger; import org.uispec4j.UISpecTestCase; import org.uispec4j.Window; import org.uispec4j.interception.WindowHandler; import org.uispec4j.interception.WindowInterceptor; /** * */ public class ExportParametersGuiTest extends UISpecTestCase { private TextBox axeFileTextBox; private Button exportButton; private RadioButton classificationRadio; private RadioButton sleeveRadio; private Button closeButton; private Window window; private ExportParametersGui gui; public void test_init() throws Exception { window.assertTitleEquals("Export de param�trage"); assertTrue(axeFileTextBox.isEditable()); assertEquals("", axeFileTextBox.getText()); assertFalse(exportButton.isEnabled()); assertTrue(closeButton.isEnabled()); assertTrue(classificationRadio.isSelected()); assertFalse(sleeveRadio.isSelected()); } public void test_handleError() throws Exception { WindowInterceptor.init(new Trigger() { public void run() throws Exception { gui.handleError("An error message for you!"); } }).process("Erreur", new WindowHandler() { @Override public Trigger process(Window window) throws Exception { return window.getButton("OK").triggerClick(); } }).run(); } public void test_assertExportButtonBehaviour() { axeFileTextBox.setText("C:"); assertFalse(exportButton.isEnabled()); assertTrue(axeFileTextBox.getAwtComponent().getForeground().equals(Color.red)); axeFileTextBox.setText("C:\\dev"); assertFalse(exportButton.isEnabled()); assertTrue(axeFileTextBox.getAwtComponent().getForeground().equals(Color.red)); axeFileTextBox.setText("C:\\dev\\toto.html"); assertFalse(exportButton.isEnabled()); assertTrue(axeFileTextBox.getAwtComponent().getForeground().equals(Color.red)); axeFileTextBox.setText("C:\\bidon\\toto.txt"); assertFalse(exportButton.isEnabled()); assertTrue(axeFileTextBox.getAwtComponent().getForeground().equals(Color.red)); axeFileTextBox.setText("C:\\dev\\toto.txt"); assertTrue(exportButton.isEnabled()); assertTrue(axeFileTextBox.getAwtComponent().getForeground().equals(Color.black)); } @Override protected void setUp() throws Exception { super.setUp(); gui = new ExportParametersGui(); window = new Window(gui); axeFileTextBox = window.getInputTextBox("DirectoryPathField.directoryNameField"); exportButton = window.getButton("exportButton"); closeButton = window.getButton("cancelButton"); classificationRadio = window.getRadioButton("classificationRadio"); sleeveRadio = window.getRadioButton("sleeveRadio"); } @Override protected void tearDown() throws Exception { super.tearDown(); } }