package test.gui.hand; import com.google.inject.AbstractModule; import net.sf.latexdraw.instruments.Hand; import net.sf.latexdraw.instruments.Pencil; import net.sf.latexdraw.instruments.ShapeTextCustomiser; import net.sf.latexdraw.models.interfaces.shape.IText; import net.sf.latexdraw.models.interfaces.shape.TextPosition; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.junit.MockitoJUnitRunner; import test.gui.CompositeGUIVoidCommand; import test.gui.ShapePropModule; import test.gui.TestTextStyleGUI; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; @RunWith(MockitoJUnitRunner.class) public class TestHandTextStyle extends TestTextStyleGUI { @Override protected AbstractModule createModule() { return new ShapePropModule() { @Override protected void configure() { super.configure(); pencil = mock(Pencil.class); bind(ShapeTextCustomiser.class).asEagerSingleton(); bind(Hand.class).asEagerSingleton(); bind(Pencil.class).toInstance(pencil); } }; } @Test public void testControllerNotActivatedWhenSelectionEmpty() { new CompositeGUIVoidCommand(activateHand, updateIns, checkInsDeactivated).execute(); } @Test public void testControllerActivatedWhenSelectionGrid() { new CompositeGUIVoidCommand(selectionAddText, activateHand, updateIns).execute(); assertTrue(ins.isActivated()); assertTrue(titledPane.isVisible()); } @Test public void testControllerDeactivatedWhenSelectionNotGrid() { new CompositeGUIVoidCommand(selectionAddRec, activateHand, updateIns).execute(); assertFalse(ins.isActivated()); assertFalse(titledPane.isVisible()); } @Test public void testControllerDeactivatedWhenSelectionEmpty() { new CompositeGUIVoidCommand(activateHand, updateIns).execute(); assertFalse(ins.isActivated()); assertFalse(titledPane.isVisible()); } @Test public void testSelectBLPencil() { new CompositeGUIVoidCommand(activateHand, selectionAddText, selectionAddGrid, selectionAddText, updateIns).execute(); clickOnblButton.execute(); assertEquals(TextPosition.BOT_LEFT, ((IText)drawing.getSelection().getShapeAt(0)).getTextPosition()); assertEquals(TextPosition.BOT_LEFT, ((IText)drawing.getSelection().getShapeAt(2)).getTextPosition()); assertTrue(blButton.isSelected()); } @Test public void testSelectBRPencil() { new CompositeGUIVoidCommand(activateHand, selectionAddText, selectionAddGrid, selectionAddText, updateIns).execute(); clickOnbrButton.execute(); assertEquals(TextPosition.BOT_RIGHT, ((IText)drawing.getSelection().getShapeAt(0)).getTextPosition()); assertEquals(TextPosition.BOT_RIGHT, ((IText)drawing.getSelection().getShapeAt(2)).getTextPosition()); assertTrue(brButton.isSelected()); } @Test public void testSelectBPencil() { new CompositeGUIVoidCommand(activateHand, selectionAddText, selectionAddGrid, selectionAddText, updateIns).execute(); clickOnbButton.execute(); assertEquals(TextPosition.BOT, ((IText)drawing.getSelection().getShapeAt(0)).getTextPosition()); assertEquals(TextPosition.BOT, ((IText)drawing.getSelection().getShapeAt(2)).getTextPosition()); assertTrue(bButton.isSelected()); } @Test public void testSelectTPencil() { new CompositeGUIVoidCommand(activateHand, selectionAddText, selectionAddGrid, selectionAddText, updateIns).execute(); clickOntButton.execute(); assertEquals(TextPosition.TOP, ((IText)drawing.getSelection().getShapeAt(0)).getTextPosition()); assertEquals(TextPosition.TOP, ((IText)drawing.getSelection().getShapeAt(2)).getTextPosition()); assertTrue(tButton.isSelected()); } @Test public void testSelectTLPencil() { new CompositeGUIVoidCommand(activateHand, selectionAddText, selectionAddGrid, selectionAddText, updateIns).execute(); clickOntlButton.execute(); assertEquals(TextPosition.TOP_LEFT, ((IText)drawing.getSelection().getShapeAt(0)).getTextPosition()); assertEquals(TextPosition.TOP_LEFT, ((IText)drawing.getSelection().getShapeAt(2)).getTextPosition()); assertTrue(tlButton.isSelected()); } @Test public void testSelectTRPencil() { new CompositeGUIVoidCommand(activateHand, selectionAddText, selectionAddGrid, selectionAddText, updateIns).execute(); clickOntrButton.execute(); assertEquals(TextPosition.TOP_RIGHT, ((IText)drawing.getSelection().getShapeAt(0)).getTextPosition()); assertEquals(TextPosition.TOP_RIGHT, ((IText)drawing.getSelection().getShapeAt(2)).getTextPosition()); assertTrue(trButton.isSelected()); } @Test public void testSelectRPencil() { new CompositeGUIVoidCommand(activateHand, selectionAddText, selectionAddGrid, selectionAddText, updateIns).execute(); clickOnrButton.execute(); assertEquals(TextPosition.RIGHT, ((IText)drawing.getSelection().getShapeAt(0)).getTextPosition()); assertEquals(TextPosition.RIGHT, ((IText)drawing.getSelection().getShapeAt(2)).getTextPosition()); assertTrue(rButton.isSelected()); } @Test public void testSelectLPencil() { new CompositeGUIVoidCommand(activateHand, selectionAddText, selectionAddGrid, selectionAddText, updateIns).execute(); clickOnlButton.execute(); assertEquals(TextPosition.LEFT, ((IText)drawing.getSelection().getShapeAt(0)).getTextPosition()); assertEquals(TextPosition.LEFT, ((IText)drawing.getSelection().getShapeAt(2)).getTextPosition()); assertTrue(lButton.isSelected()); } @Test public void testSelectCentrePencil() { new CompositeGUIVoidCommand(activateHand, selectionAddText, selectionAddGrid, selectionAddText, updateIns).execute(); clickOncentreButton.execute(); assertEquals(TextPosition.CENTER, ((IText)drawing.getSelection().getShapeAt(0)).getTextPosition()); assertEquals(TextPosition.CENTER, ((IText)drawing.getSelection().getShapeAt(2)).getTextPosition()); assertTrue(centreButton.isSelected()); } }