JAL-2563 test updated for fix
[jalview.git] / test / jalview / gui / SeqPanelTest.java
index b7dc250..a5d244d 100644 (file)
@@ -41,27 +41,51 @@ public class SeqPanelTest
     JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION);
   }
   @Test(groups = "Functional")
-  public void testSetStatusReturnsPosOrMinusOne()
+  public void testSetStatusReturnsNearestResiduePosition()
   {
-    SequenceI seq1 = new Sequence("Seq1", "ABCDEFGHIJ");
-    SequenceI seq2 = new Sequence("Seq2", "AB--EFGHIJ");
+    SequenceI seq1 = new Sequence("Seq1", "AACDE");
+    SequenceI seq2 = new Sequence("Seq2", "AA--E");
     AlignmentI al = new Alignment(new SequenceI[] { seq1, seq2 });
     AlignFrame alignFrame = new AlignFrame(al, al.getWidth(),
             al.getHeight());
     AlignmentI visAl = alignFrame.getViewport().getAlignment();
+
     // Test either side of gap
     assertEquals(
             alignFrame.alignPanel.getSeqPanel().setStatusMessage(
                     visAl.getSequenceAt(1), 1, 1), 2);
+    assertEquals(alignFrame.statusBar.getText(),
+            "Sequence 2 ID: Seq2 Residue: ALA (2)");
     assertEquals(
             alignFrame.alignPanel.getSeqPanel().setStatusMessage(
                     visAl.getSequenceAt(1), 4, 1), 3);
-    // Test gaps are -1
+    assertEquals(alignFrame.statusBar.getText(),
+            "Sequence 2 ID: Seq2 Residue: GLU (3)");
+    // no status message at a gap, returns next residue position to the right
     assertEquals(
             alignFrame.alignPanel.getSeqPanel().setStatusMessage(
-                    visAl.getSequenceAt(1), 2, 1), -1);
+                    visAl.getSequenceAt(1), 2, 1), 3);
+    assertEquals(alignFrame.statusBar.getText(), "Sequence 2 ID: Seq2");
     assertEquals(
             alignFrame.alignPanel.getSeqPanel().setStatusMessage(
-                    visAl.getSequenceAt(1), 3, 1), -1);
+                    visAl.getSequenceAt(1), 3, 1), 3);
+    assertEquals(alignFrame.statusBar.getText(), "Sequence 2 ID: Seq2");
+  }
+
+  @Test(groups = "Functional")
+  public void testAmbiguousAminoAcidGetsStatusMessage()
+  {
+    SequenceI seq1 = new Sequence("Seq1", "ABCDE");
+    SequenceI seq2 = new Sequence("Seq2", "AB--E");
+    AlignmentI al = new Alignment(new SequenceI[] { seq1, seq2 });
+    AlignFrame alignFrame = new AlignFrame(al, al.getWidth(),
+            al.getHeight());
+    AlignmentI visAl = alignFrame.getViewport().getAlignment();
+
+    assertEquals(
+            alignFrame.alignPanel.getSeqPanel().setStatusMessage(
+                    visAl.getSequenceAt(1), 1, 1), 2);
+    assertEquals(alignFrame.statusBar.getText(),
+            "Sequence 2 ID: Seq2 Residue: B (2)");
   }
 }