package nl.tudelft.bw4t.scenariogui.util; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyObject; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import java.awt.Component; import javax.swing.JFileChooser; import nl.tudelft.bw4t.scenariogui.BW4TClientConfig; import nl.tudelft.bw4t.scenariogui.ScenarioEditor; import nl.tudelft.bw4t.scenariogui.editor.gui.ConfigurationPanel; import nl.tudelft.bw4t.scenariogui.editor.gui.EntityPanel; import org.junit.After; import org.junit.Before; import org.junit.Test; public class EntityJTableTest { private static final String BASE = System.getProperty("user.dir") + "/src/test/resources/"; private static final String FILE_TEST_ROBOT_GOAL = BASE + "robot.goal"; private EntityPanel entityPanel; private EntityJTable botJTable; private EntityJTable ePartnerTable; private JFileChooser filechooser; private EntityPanel spyEntityPanel; private ScenarioEditor editor; @Before public final void setUp() { filechooser = mock(JFileChooser.class); entityPanel = new EntityPanel(); spyEntityPanel = spy(entityPanel); editor = new ScenarioEditor(new ConfigurationPanel(), spyEntityPanel, new BW4TClientConfig()); botJTable = entityPanel.getBotTable(); ePartnerTable = entityPanel.getEPartnerTable(); } @After public final void tearDown() { editor.dispose(); } @Test public void getToolTipTextTest() { entityPanel.getNewBotButton().doClick(); assertEquals(botJTable.getToolTipText(0, 0), null); assertEquals(botJTable.getToolTipText(0, 1), null); assertFalse(botJTable.getToolTipText(0, 2) == null); assertEquals(botJTable.getToolTipText(0, 3), null); } @Test public void getAgentFileColumnTest() { assertEquals(botJTable.getAgentFileColumn(), 2); assertEquals(ePartnerTable.getAgentFileColumn(), 1); } @Test public void getAgentFileColumnExceptionTest1() { OptionPrompt yesMockOption = OptionPromptHelper.getYesOptionPrompt(); ScenarioEditor.setOptionPrompt(yesMockOption); EntityJTable errorTable = new EntityJTable(); errorTable.getAgentFileColumn(); verify(yesMockOption, times(1)).showMessageDialog((Component) any(), anyObject()); } @Test public void getAgentFileColumnExceptionTest2() { OptionPrompt yesMockOption = OptionPromptHelper.getYesOptionPrompt(); ScenarioEditor.setOptionPrompt(yesMockOption); EntityJTable errorTable = new EntityJTable(); errorTable.setName("InvalidName"); errorTable.getAgentFileColumn(); verify(yesMockOption, times(1)).showMessageDialog((Component) any(), anyObject()); } }