package nl.tudelft.bw4t.epartner.epartnerframe; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.spy; import nl.tudelft.bw4t.scenariogui.BW4TClientConfig; import nl.tudelft.bw4t.scenariogui.EPartnerConfig; import nl.tudelft.bw4t.scenariogui.ScenarioEditor; import nl.tudelft.bw4t.scenariogui.editor.gui.ConfigurationPanel; import nl.tudelft.bw4t.scenariogui.editor.gui.EntityPanel; import nl.tudelft.bw4t.scenariogui.editor.gui.MainPanel; import nl.tudelft.bw4t.scenariogui.epartner.controller.EpartnerController; import nl.tudelft.bw4t.scenariogui.epartner.gui.EpartnerFrame; import nl.tudelft.bw4t.scenariogui.util.OptionPromptHelper; import org.junit.After; import org.junit.Before; import org.junit.Test; public class EpartnerFrameTest { private EpartnerFrame frame; private EpartnerFrame spyframe; private EpartnerController controller; private EPartnerConfig config; @Before public final void setupEpartnerFrame() { EntityPanel entityPanel = new EntityPanel(); ScenarioEditor main = new ScenarioEditor(new ConfigurationPanel(), entityPanel, new BW4TClientConfig()); MainPanel parent = main.getMainPanel(); config = new EPartnerConfig(); main.getController().getModel().getEpartners().add(config); controller = new EpartnerController(parent, 0); frame = new EpartnerFrame(controller); spyframe = spy(frame); ScenarioEditor.setOptionPrompt(OptionPromptHelper.getYesOptionPrompt()); } @After public final void dispose() { frame.dispose(); } @Test public final void testUpdateConfig() { spyframe.getGPSCheckbox().setSelected(true); spyframe.getForgetMeNotCheckbox().setSelected(true); controller.updateConfig(spyframe); assertTrue(config.isGps()); assertTrue(config.isForgetMeNot()); } @Test public final void testResetButton() { spyframe.getResetButton().doClick(); assertEquals(config.isGps(), spyframe.getGPSCheckbox().isSelected()); assertEquals(config.isForgetMeNot(), spyframe.getForgetMeNotCheckbox().isSelected()); } @Test public final void testApplyButton() { spyframe.getGPSCheckbox().setSelected(false); spyframe.getForgetMeNotCheckbox().setSelected(true); spyframe.getSaveButton().doClick(); assertEquals(config.isGps(), spyframe.getGPSCheckbox().isSelected()); assertEquals(config.isForgetMeNot(), spyframe.getForgetMeNotCheckbox().isSelected()); } }