/** * WS-Attacker - A Modular Web Services Penetration Testing Framework Copyright * (C) 2010 Christian Mainka * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software * Foundation; either version 2 of the License, or (at your option) any later * version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License along with * this program; if not, write to the Free Software Foundation, Inc., 51 * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ package wsattacker.gui.component.pluginconfiguration.option; import java.io.File; import java.util.ArrayList; import java.util.List; import javax.swing.JButton; import javax.swing.JList; import static org.easymock.EasyMock.createMock; import static org.easymock.EasyMock.expect; import static org.easymock.EasyMock.replay; import static org.easymock.EasyMock.verify; import static org.hamcrest.Matchers.hasSize; import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertThat; import org.junit.Test; import wsattacker.main.composition.plugin.option.AbstractOptionMultiFiles; /** * @author christian */ public class OptionMultiFileGUI_NBTest { final private static int FILES_TO_CREATE = 3; final private static String FILENAME = "FILE_"; public OptionMultiFileGUI_NBTest() { } @Test public void testOptionMultiFile() { List<File> fileList = new ArrayList<File>(); for ( int i = 0; i < FILES_TO_CREATE; ++i ) { File fileMock = createMock( File.class ); String path = String.format( "%s%d", FILENAME, i ); expect( fileMock.getName() ).andReturn( path ); fileList.add( fileMock ); } replay( fileList.toArray() ); OptionMultiFileGUI_NB multiFile = new OptionMultiFileGUI_NB(); JList jList = multiFile.getFileList(); JButton jButton = multiFile.getRemoveButton(); AbstractOptionMultiFiles option = multiFile.getOption(); option.setFiles( fileList ); assertThat( fileList, hasSize( FILES_TO_CREATE ) ); assertThat( jList.getModel().getSize(), is( FILES_TO_CREATE ) ); jList.setSelectedIndex( FILES_TO_CREATE - 1 ); jButton.doClick(); assertThat( jList.getModel().getSize(), is( FILES_TO_CREATE - 1 ) ); multiFile.bindingDoUnbind(); verify( fileList.toArray() ); } }