3 import static org.testng.Assert.assertTrue;
5 import jalview.datamodel.Alignment;
6 import jalview.datamodel.AlignmentI;
7 import jalview.datamodel.Sequence;
8 import jalview.datamodel.SequenceGroup;
9 import jalview.datamodel.SequenceI;
11 import java.awt.event.MouseEvent;
13 import org.testng.annotations.BeforeClass;
14 import org.testng.annotations.Test;
16 public class ScalePanelTest
18 @BeforeClass(alwaysRun = true)
19 public void setUpJvOptionPane()
21 JvOptionPane.setInteractiveMode(false);
22 JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
25 @Test(groups = "Functional")
26 public void testPreventNegativeStartColumn()
28 SequenceI seq1 = new Sequence("Seq1", "MATRESS");
29 SequenceI seq2 = new Sequence("Seq2", "MADNESS");
30 AlignmentI al = new Alignment(new SequenceI[] { seq1, seq2 });
32 AlignFrame alignFrame = new AlignFrame(al, al.getWidth(),
34 ScalePanel scalePanel = new ScalePanel(
35 alignFrame.getViewport(), alignFrame.alignPanel
38 MouseEvent mouse = new MouseEvent(
39 scalePanel, 0, 1, 0, 4, 0, 1, false
41 scalePanel.mousePressed(mouse);
42 scalePanel.mouseDragged(mouse);
44 // simulate dragging selection leftwards beyond the sequences giving
46 mouse = new MouseEvent(scalePanel, 0, 1, 0, -30, 0, 1, false);
48 scalePanel.mouseReleased(mouse);
50 SequenceGroup sg = scalePanel.av.getSelectionGroup();
51 int startCol = sg.getStartRes();
53 assertTrue(startCol >= 0);