c65f23687d61e1e40622629a7abf6ef23e7f64eb
[jalview.git] / test / jalview / gui / ValidColumnSelectionTest.java
1 package jalview.gui;
2
3 import static org.testng.Assert.assertTrue;
4
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;
10
11 import java.awt.event.MouseEvent;
12
13 import org.testng.annotations.BeforeClass;
14 import org.testng.annotations.Test;
15
16 public class ValidColumnSelectionTest
17 {
18   @BeforeClass(alwaysRun = true)
19   public void setUpJvOptionPane()
20   {
21     JvOptionPane.setInteractiveMode(false);
22     JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
23   }
24
25   @Test(groups = "Functional")
26   public void testPreventNegativeStartColumn()
27   {
28     SequenceI seq1 = new Sequence("Seq1", "MATRESS");
29     SequenceI seq2 = new Sequence("Seq2", "MADNESS");
30     AlignmentI al = new Alignment(new SequenceI[] { seq1, seq2 });
31     
32     AlignFrame alignFrame = new AlignFrame(al, al.getWidth(),
33             al.getHeight());
34     ScalePanel scalePanel = new ScalePanel(
35             alignFrame.getViewport(), alignFrame.alignPanel
36     );
37     
38     MouseEvent mouse = new MouseEvent(
39             scalePanel, 0, 1, 0, 4, 0, 1, false
40     );
41     scalePanel.mousePressed(mouse);
42     scalePanel.mouseDragged(mouse);
43     mouse = new MouseEvent(scalePanel, 0, 1, 0, -30, 0, 1, false);
44     scalePanel.mouseReleased(mouse);
45
46     SequenceGroup sg = scalePanel.av.getSelectionGroup();
47     int startCol = sg.getStartRes();
48
49     assertTrue(startCol >= 0);
50
51
52   }
53
54 }